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

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

但後來,用一樣的代碼在另外一個數據庫中運行卻失敗了。找了一個下午的緣由。後來發現是MyISAM存儲引擎不支持事務致使的。而以前的表用的是InnoDB,支持事務。mysql

 

顯示當前autocommit值:sql

show VARIABLES like '%autocommit%';

設置autocommit爲False數據庫

set autocommit = 0;

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

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

 

MyISAM和InnoDB區別:url

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

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

相關文章
相關標籤/搜索