【发布时间】:2012-03-10 03:40:47
【问题描述】:
您似乎可以通过仅使用 BEGIN 的事务来实现您所需要的一切;回滚并提交;。是否有某些需要使用自动提交的场景?是否调用 BEGIN;将自动提交设置为假?是否调用 COMMIT;将自动提交设置为 true?
【问题讨论】:
标签: mysql transactions
您似乎可以通过仅使用 BEGIN 的事务来实现您所需要的一切;回滚并提交;。是否有某些需要使用自动提交的场景?是否调用 BEGIN;将自动提交设置为假?是否调用 COMMIT;将自动提交设置为 true?
【问题讨论】:
标签: mysql transactions
可以按会话或全局设置自动提交。没有需要自动提交的方案(并非所有 RDMS 都支持自动提交模式)。在我看来,自动提交默认为 true 的原因是因为 MyISAM 引擎根本不支持事务,所以为了减轻为 MyISAM 编写的移植应用程序,它们模仿了相同的行为。
是否调用 BEGIN;将自动提交设置为假?是否调用 COMMIT;将自动提交设置为 true?
要禁用单个系列语句的自动提交模式,请使用 START TRANSACTION 语句:...
使用 START TRANSACTION,自动提交保持禁用状态,直到您使用 COMMIT 或 ROLLBACK 结束事务。然后自动提交模式恢复到之前的状态。
【讨论】: