MySQL transaction-und trigger

Ich schnell durchsucht MySQL-Handbuch aber nicht finden, die genaue Informationen über meine Frage. Hier ist meine Frage: wenn ich eine InnoDB-Tabelle A mit zwei Trigger-ausgelöst durch die 'AFTER INSERT ON A' und 'NACH AKTUALISIERUNG'. Genauer gesagt, Zum Beispiel: ein trigger ist definiert als:

CREATE TRIGGER test_trigger AFTER INSERT ON A
         FOR EACH ROW 
                      BEGIN
                         INSERT INTO B SELECT * FROM A WHERE A.col1 = NEW.col1
                      END;

Können Sie ignorieren die Abfrage zwischen BEGIN UND END im Grunde meine ich das ausgelöst wird, fügen Sie mehrere Zeilen in Tabelle B, was auch eine InnoDB-Tabelle.

Nun, wenn ich anfing, eine Transaktion und legen Sie dann viele Zeilen, sagen: 10K Zeilen in Tabelle A. Wenn es keine trigger zugeordnete Tabelle Ein, alle diese Einsätze sind atomic, das ist sicher. Jetzt, wenn in Tabelle A steht in Verbindung mit mehreren insert - /update-Trigger für die insert - /update-viele Zeilen in Tabelle B und/oder Tabelle C, etc.. alle diese Einsätze und/oder updates sind noch alle atomic?

Ich denke, es ist immer noch Atom -, aber es ist ein wenig schwierig zu testen, und ich kann nicht finden eine Erklärung in der Bedienungsanleitung. Wer kann dies bestätigen?

  • Ja sicher In der DB/2 ...
  • könnten Sie darlegen, wo es erwähnt wird in der Anleitung?
  • Mögliche Duplikate von Sind Transaktion auslöst?
InformationsquelleAutor WilliamLou | 2010-04-14
Schreibe einen Kommentar