Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insérer dans la même table trigger mysql

Vous ne pouvez pas modifier une table (autre que la ligne actuelle) dans un déclencheur attaché à cette table.

Une solution consiste à insérer dans une autre table et à ce que le déclencheur insère 2 lignes dans la table qui vous intéresse.

Si vous faites de l'autre table un blackhole vous n'avez pas à vous soucier du stockage.

DELIMITER $$

CREATE TRIGGER ai_bh_test_each AFTER INSERT ON bh_test FOR EACH ROW
BEGIN
  INSERT INTO table1 (field1, field2, ...) VALUES (new.field1, new.field2, ....);
  INSERT INTO table1 ... values for the second row
END $$

DELIMITER ;