我听说MySQL根本没有交易支持?真的吗?如果是的话,与其他商业数据库(例如Oracle / SQL Server)相比,人们如何编写可靠的代码来确保数据的一致性和可靠性?
提前谢谢, 乔治答案 0 :(得分:7)
实际上,MySQL 通过与MySQL捆绑在一起的InnoDB storage engine包含对事务的支持。它不是默认存储引擎,但可以更改该设置。或者您可以在创建表时简单地指定引擎。
create table mytable (...) engine=innodb;
答案 1 :(得分:4)
4.0之前的版本,MySQL不支持交易。这已不再是这种情况。现在通过InnoDB(一种可用的存储引擎)存在事务支持。
MyISAM通过基本上自动提交和原子操作支持数据完整性,这是一种不同的路径,有时效率较低,但并非一无所获。
答案 2 :(得分:1)
是的,MySQL目前支持交易。见这里:http://dev.mysql.com/doc/refman/5.0/en/ansi-diff-transactions.html