MySQL没有事务支持?

时间:2009-12-15 08:27:19

标签: mysql sql-server oracle

我听说MySQL根本没有交易支持?真的吗?如果是的话,与其他商业数据库(例如Oracle / SQL Server)相比,人们如何编写可靠的代码来确保数据的一致性和可靠性?

提前谢谢, 乔治

3 个答案:

答案 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