sql >> Databasteknik >  >> RDS >> Mysql

Hur man använder trigger i MySql för att skapa främmande nyckel

Även om det inte är klart exakt vad du avser med uttalandet "använd trigger för att skapa främmande nyckel", är ditt nuvarande problem att SELECT INTO kan inte användas i frågor som returnerar mer än ett resultat.

SELECT 1 INTO has_row FROM teacher INNER JOIN content ON content.teacher_id=teacher.teacher_id; returnerar VARJE matchning mellan de två tabellerna.

Om du försökte kontrollera om teacher innehåller teacher_id värde som används i det nya content record, bör du bara kunna släppa JOIN-satsen helt och bara fråga så här:

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


  1. UNIX_TIMESTAMP i SQL Server

  2. MySQL:infoga värden från en annan tabell i en kolumn

  3. SQL INSERT INTO från flera tabeller

  4. Lagrar statistiska data, behöver jag DECIMAL, FLOAT eller DOUBLE?