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

Udløser til at forbinde flere borde

  1. MySql tillader ikke at foretage ændringer i en triggerkode til den samme tabel, som du har den trigger på
  2. Du kan overvinde denne begrænsning ved at ændre en kolonneværdi for en række, der indsættes ved hjælp af BEFORE hændelse i stedet for AFTER .
  3. Nu for at adressere kolonneværdier for en række, der indsættes i MySql, skal du bruge NEW søgeord.

Når det er sagt, skal din trigger se ud

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

Her er SQLFiddle demo




  1. Forbindelse nægtet (PGError) (postgresql og rails)

  2. Oracle- Split streng kommasepareret (streng indeholder mellemrum og på hinanden følgende kommaer)

  3. SQL Vælg kun rækker med minimumsværdi på en kolonne med Where Condition

  4. MySQL indsæt flere poster med while-løkke