mysql documentation指出某些語句會在事務期間導致隱式提交。例如:如何防止mysql隱式提交
CREATE TABLE foo (bar INT);
START TRANSACTION;
INSERT INTO foo VALUES (1);
CREATE TEMPORARY TABLE mumble like foo;
ALTER TABLE mumble modify bar INT UNSIGNED;
ROLLBACK;
SELECT * FROM foo;
回滾之後,我得到一個排回從富 - 文檔實際上說的ALTER TABLE不應該因爲如果你使用臨時關鍵字隱式提交,但ALTER TABLE TEMPORARY是無效的語法,並刪除臨時表不會導致暗示提交,所以我懷疑只有一個錯誤(至少5.5.29)
在任何情況下,我想要做的是告訴mysql永遠不隱式提交,但是如果給出了會導致隱式提交的命令,則會失敗/回滾。
我懷疑沒有辦法做到這一點,環顧四周,但我希望我錯了。希望這裏有人知道:)
正確,這是一種解決方法,我最終做了類似的事情 - 真的希望有某種方式來做到這一點 - 但它似乎從錯誤報告他們不打算修復它。感謝您找到這些。 – 2013-05-30 19:59:29