Meskipun tidak jelas apa sebenarnya yang Anda maksudkan dengan pernyataan "gunakan pemicu untuk membuat kunci asing", masalah Anda saat ini adalah SELECT INTO tidak dapat digunakan dalam kueri yang mengembalikan lebih dari satu hasil.
SELECT 1 INTO has_row FROM teacher INNER JOIN content ON content.teacher_id=teacher.teacher_id; mengembalikan SETIAP kecocokan antara dua tabel.
Jika Anda mencoba memeriksa apakah teacher berisi teacher_id nilai yang digunakan dalam content baru catatan, Anda seharusnya dapat menghapus klausa GABUNG sepenuhnya dan hanya menanyakan seperti ini:
SELECT 1 INTO has_row FROM `teacher` WHERE `teacher_id` = NEW.`teacher_id`;