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

In dieselbe Tabelle einfügen löst mysql aus

Sie können keine Tabelle (außer der aktuellen Zeile) in einem Trigger ändern, der dieser Tabelle zugeordnet ist.

Eine Lösung besteht darin, in eine andere Tabelle einzufügen und diesen Trigger zwei Zeilen in die Tabelle einfügen zu lassen, an der Sie interessiert sind.

Wenn Sie die andere Tabelle zu einem blackhole machen Sie müssen sich keine Gedanken über die Speicherung machen.

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 ;