sql >> Database >  >> RDS >> Mysql

Triggers om meerdere tafels te verbinden

  1. MySql staat het niet toe om binnen een triggercode wijzigingen aan te brengen in dezelfde tabel waarop u die trigger heeft
  2. U kunt deze beperking omzeilen door een kolomwaarde van een rij die wordt ingevoegd te wijzigen met BEFORE evenement in plaats van AFTER .
  3. Om nu kolomwaarden van een rij die in MySql wordt ingevoegd aan te pakken, moet je NEW gebruiken zoekwoord.

Dat gezegd hebbende, zou je trigger eruit moeten zien als

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

Hier is SQLFiddle demo




  1. Hoe een databaseschema in Oracle naar een dumpbestand te exporteren

  2. SQL-code programmatisch genereren

  3. Opvragen vanuit selectievakjes

  4. Top Facebook-groepen voor Analytics, Big Data, Data Mining, Hadoop, NoSQL, Data Science