【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

相关文章
相关标签/搜索