【mysql】autocommit=0后,commit, rollback無效


之前在【mysql】MySQLdb中的事務處理中用autocommit和commit()以及rollback()實現了事務處理。

但后來,用同樣的代碼在另一個數據庫中運行卻失敗了。找了一個下午的原因。后來發現是MyISAM存儲引擎不支持事務導致的。而之前的表用的是InnoDB,支持事務。

 

顯示當前autocommit值:

show VARIABLES like '%autocommit%';

設置autocommit為False

set autocommit = 0;

查看數據庫db_test的表table_test使用的存儲引擎

show TABLE STATUS FROM db_test WHERE name = "table_test";

 

MyISAM和InnoDB區別:

MyISAM效率更高,但不支持事務,不支持外鍵。

InnoDB效率略低,支持事務和外鍵。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM