Busqué rápidamente el manual de MySQL pero no encontré la información exacta sobre mi pregunta. Aquí está mi pregunta: si tengo una tabla InnoDB A con dos activadores activados por 'DESPUÉS DE INSERTAR EN A' y 'DESPUÉS ACTUALIZAR EN A'. Más específicamente, por ejemplo: un activador se define como:Transacción MySQL y gatillo
CREATE TRIGGER test_trigger AFTER INSERT ON A
FOR EACH ROW
BEGIN
INSERT INTO B SELECT * FROM A WHERE A.col1 = NEW.col1
END;
Puede pasar por alto la consulta entre BEGIN
Y END
, básicamente me refiero a este disparador insertará varias filas en la tabla B que es también una tabla InnoDB.
Ahora, si comencé una transacción y luego inserté muchas filas, digamos: 10K filas, en la tabla A. Si no hay un disparador asociado con la tabla A, todas estas inserciones son atómicas, eso es seguro. Ahora, si la tabla A está asociada con varios disparadores de inserción/actualización que insertan/actualizan muchas filas en la tabla B y/o la tabla C, etc., ¿todos estos insertos y/o actualizaciones seguirán siendo todos atómicos?
Creo que sigue siendo atómico, pero es un poco difícil de probar y no encuentro explicaciones en el Manual. ¿Alguien puede confirmar esto?
Sí seguro En DB/2 ... –
¿podría indicar dónde se menciona en el manual? – WilliamLou
Posible duplicado de [¿Son activadas las transacciones?] (Http://stackoverflow.com/questions/37749288/are-triggers-transaction) – Sandeep