以前在【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