Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So verwenden Sie Trigger in MySql, um Fremdschlüssel zu erstellen

Es ist zwar nicht klar, was genau Sie mit der Anweisung "Auslöser verwenden, um Fremdschlüssel zu erstellen" beabsichtigen, aber Ihr aktuelles Problem ist, dass SELECT INTO kann nicht in Abfragen verwendet werden, die mehr als ein Ergebnis zurückgeben.

SELECT 1 INTO has_row FROM teacher INNER JOIN content ON content.teacher_id=teacher.teacher_id; gibt JEDE Übereinstimmung zwischen den beiden Tabellen zurück.

Wenn Sie versucht haben zu überprüfen, ob teacher enthält die teacher_id Wert, der im neuen content verwendet wird record, sollten Sie in der Lage sein, die JOIN-Klausel vollständig zu löschen und einfach so abzufragen:

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