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