Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment utiliser le déclencheur dans MySql pour créer une clé étrangère

Bien qu'il ne soit pas clair ce que vous voulez exactement avec l'instruction "utiliser le déclencheur pour créer une clé étrangère", votre problème actuel est que SELECT INTO ne peut pas être utilisé dans les requêtes qui renvoient plus d'un résultat.

SELECT 1 INTO has_row FROM teacher INNER JOIN content ON content.teacher_id=teacher.teacher_id; renvoie CHAQUE correspondance entre les deux tables.

Si vous essayez de vérifier si teacher contient le teacher_id valeur utilisée dans le nouveau content record, vous devriez juste pouvoir supprimer complètement la clause JOIN et juste interroger comme ceci :

SELECT 1 INTO has_row FROM `teacher` WHERE `teacher_id` = NEW.`teacher_id`;