J'ai rapidement parcouru le manuel MySQL mais je n'ai pas trouvé l'information exacte sur ma question. Voici ma question: si j'ai une table InnoDB A avec deux déclencheurs déclenchés par 'AFTER INSERT ON A' et 'AFTER UPDATE ON A'. Plus précisément, par exemple: un déclencheur est défini comme:transaction MySQL et déclencher
CREATE TRIGGER test_trigger AFTER INSERT ON A
FOR EACH ROW
BEGIN
INSERT INTO B SELECT * FROM A WHERE A.col1 = NEW.col1
END;
Vous pouvez ignorer la requête entre BEGIN
ET END
, essentiellement je veux dire ce déclencheur va insérer plusieurs lignes dans le tableau B qui est aussi une table InnoDB. Maintenant, si j'ai commencé une transaction et que j'insère plusieurs lignes, disons: 10K lignes, dans le tableau A. S'il n'y a pas de déclencheur associé à la table A, tous ces insertions sont atomiques, c'est certain. Maintenant, si la table A est associée à plusieurs déclencheurs d'insertion/mise à jour qui insèrent/mettent à jour de nombreuses lignes à la table B et/ou à la table C etc., ces insertions et/ou mises à jour seront-elles toutes atomiques?
Je pense que c'est encore atomique, mais c'est un peu difficile à tester et je ne trouve aucune explication dans le manuel. Tout le monde peut le confirmer?
Oui pour sûr Dans DB/2 ... –
pourriez-vous indiquer où il est mentionné dans le manuel? – WilliamLou
Possible duplicata de [Are triggers transaction?] (Http://stackoverflow.com/questions/37749288/are-triggers-transaction) – Sandeep