Въпреки че не е ясно какво точно възнамерявате с изявлението "използвайте тригер за създаване на външен ключ", текущият ви проблем е, че SELECT INTO
не може да се използва в заявки, които връщат повече от един резултат.
SELECT 1 INTO has_row FROM teacher INNER JOIN content ON content.teacher_id=teacher.teacher_id;
връща ВСЯКО съвпадение между двете таблици.
Ако се опитвате да проверите дали teacher
съдържа teacher_id
стойност, която се използва в новото content
запис, просто трябва да можете да премахнете клаузата JOIN напълно и просто да направите заявка така:
SELECT 1 INTO has_row FROM `teacher` WHERE `teacher_id` = NEW.`teacher_id`;