1
服務器版本:5.7.17 MySQL社區服務器(GPL)MySQL在創建表時失敗時創建事務提交表
這是我的情況。 我有兩張桌子。現在
CREATE TABLE a (id INT PRIMARY KEY);
CREATE TABLE b (id INT PRIMARY KEY);
,我做我的交易:
START TRANSACTION;
INSERT INTO `a` VALUE (1);
CREATE TABLE b (id INT PRIMARY KEY);
當然我希望這句話3(CRATE TABLE 'B')會因爲表已經存在失敗。它確實如此。這個問題,它的確也插入爲好,這不應該在我跑
COMMIT;
沒有辦法回滾事務 - 記錄「1」表中地點「A」的住宿環境。
你有什麼想法或想法如何避免這種行爲?我也注意到,當我故意在CREATE TABLE STATEMENT中執行語法錯誤時,它會像預期的那樣失敗,但是不會創建'a'中的記錄。
感謝您的參考和解釋。 您是否知道在執行期間鎖定數據庫以保持一致性的任何方式? – Alexey
添加鏈接到https://stackoverflow.com/questions/16221993/how-to-prevent-mysql-implicit-commit可能有幫助。 – swa66