sql >> Base de Datos >  >> RDS >> Mysql

Insertar en la misma tabla activa mysql

No puede modificar una tabla (que no sea la fila actual) en un disparador adjunto a esa tabla.

Una solución es insertar en otra tabla y hacer que ese disparador inserte 2 filas en la tabla que le interesa.

Si conviertes la otra tabla en un blackhole no tienes que preocuparte por el almacenamiento.

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 ;