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

Trigger zum Verbinden mehrerer Tabellen

  1. MySql erlaubt keine Änderungen innerhalb eines Triggercodes an derselben Tabelle, auf der Sie diesen Trigger haben
  2. Sie können diese Einschränkung umgehen, indem Sie einen Spaltenwert einer Zeile ändern, die mit BEFORE eingefügt wird Ereignis statt AFTER .
  3. Um nun Spaltenwerte einer Zeile zu adressieren, die in MySql eingefügt wird, müssen Sie NEW verwenden Schlüsselwort.

Davon abgesehen sollte Ihr Trigger so aussehen

CREATE TRIGGER tg_test1_insert
BEFORE INSERT ON test1 
FOR EACH ROW
  SET NEW.originindex = 
     (
       SELECT value 
         FROM cities 
        WHERE city = NEW.origin
     );

Hier ist SQLFiddle Demo