我很快瀏覽了MySQL手冊,但沒有找到有關我的問題的確切信息。這裏是我的問題:如果我有一個InnoDB表A,其中兩個觸發器由'AFTER INSERT ON A'和'AFTER UPDATE ON A'觸發。更具體地講,例如:一個觸發器定義爲:MySQL事務和觸發器
CREATE TRIGGER test_trigger AFTER INSERT ON A
FOR EACH ROW
BEGIN
INSERT INTO B SELECT * FROM A WHERE A.col1 = NEW.col1
END;
可以忽略BEGIN
和END
之間的查詢,基本上我的意思是這個觸發器將插入幾行到表B中這也是一個InnoDB表。
現在,如果我啓動了一個事務,然後在表A中插入許多行,例如:10K行,如果沒有與表A關聯的觸發器,所有這些插入操作都是原子操作,這是肯定的。現在,如果表A與多個插入/更新觸發器相關聯,這些觸發器向表B和/或表C等插入/更新許多行,所有這些插入和/或更新是否仍然是原子的?
我認爲它仍然是原子的,但它有點難以測試,我在手冊中找不到任何解釋。任何人都可以確認嗎?
是的肯定在DB/2 ... – 2010-04-14 03:59:57
你能指出它在手冊中提到的地方嗎? – WilliamLou 2010-04-14 17:51:21
可能重複的[是觸發器事務嗎?](http://stackoverflow.com/questions/37749288/are-triggers-transaction) – Sandeep 2016-06-11 11:46:08