我对交易和自动提交感到困惑。但是没有文件解释MySQL自动提交的内容。
如果自动提交,则每个INSERT UPDATE DELETE
语句将立即生效。 MySQL会自动启动事务吗?
如果没有,MySQL会做什么?交易有什么区别?
在我看来:
声明
INSERT INTO ...
自动提交等于
START TRANSACTION;
INSERT INTO ...;
COMMIT;
关闭自动提交。
任何条件下的两个陈述都采取相同的行动。
是不是?
答案 0 :(得分:0)
首先,您必须知道,大多数MySQL存储引擎都不支持事务。例如,InnoDB支持,但MyISAM - 不支持。
在InnoDB中,您可以通过2种方式使用交易:
隐式
开始交易;
INSERT / UPDATE / DELETE
COMMIT;
显式
通过SET autocommit off
它们都提供相同的结果