Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak używać wyzwalacza w MySql do tworzenia klucza obcego?

Chociaż nie jest jasne, co dokładnie zamierzasz ze stwierdzeniem „użyj wyzwalacza, aby utworzyć klucz obcy”, Twoim obecnym problemem jest to, że SELECT INTO nie może być używany w zapytaniach, które zwracają więcej niż jeden wynik.

SELECT 1 INTO has_row FROM teacher INNER JOIN content ON content.teacher_id=teacher.teacher_id; zwraca KAŻDE dopasowanie między dwoma tabelami.

Jeśli próbowałeś sprawdzić, czy teacher zawiera teacher_id wartość używana w nowej content rekord, powinieneś być w stanie całkowicie usunąć klauzulę JOIN i po prostu zapytać w ten sposób:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Standardy / konwencje nazw kolumn MySQL

  2. Obliczanie procentu liczby grup(*)

  3. MySQL:DATE_ADD

  4. Wybierz, gdzie numer wiersza =numer wiersza

  5. Jak konwertować małe litery na wielkie w MySQL