考慮以下幾點:自動回滾,如果COMMIT TRANSACTION沒有達到
START TRANSACTION;
BEGIN;
INSERT INTO prp_property1 (module_name,environment_name,NAME,VALUE) VALUES ('','production','','300000');
/** Assume there is syntax error SQL here...**/
Blah blah blah
DELETE FROM prp_property1 WHERE environment_name = 'production';
COMMIT TRANSACTION;
問:
我注意到,該交易將自動回滾和記錄插入嘗試失敗。
如果我沒有像上面那樣提供錯誤處理程序或錯誤檢查以及ROLLBACK TRANSACTION
,它是否安全,因爲它似乎在像上面這樣的示例中執行此工作,因爲COMMIT TRANSACTION
從未得到執行?
我假設事務立即回滾並在發生錯誤時立即丟棄。
我正在使用SQLyog作爲客戶端。 – Koekiebox 2011-05-25 09:22:58
請參閱http://stackoverflow.com/questions/6121917/automatic-rollback-if-commit-transaction-is-not-reached/32955274#32955274 – 2015-10-13 12:40:14