Mysql
 sql >> Database >  >> RDS >> Mysql

Trigger per connettere più tabelle

  1. MySql non consente di apportare modifiche all'interno di un codice trigger alla stessa tabella su cui hai quel trigger
  2. Puoi superare questa limitazione modificando il valore di una colonna di una riga inserita utilizzando BEFORE evento anziché AFTER .
  3. Ora per indirizzare i valori di colonna di una riga inserita in MySql devi usare NEW parola chiave.

Detto questo, il tuo trigger dovrebbe assomigliare a

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

Ecco SQLFiddle demo