繁体   English   中英

使用MySQL,如何开始? 回滚; 和COMMIT; 与自动提交有关?

[英]With MySQL, how do BEGIN; ROLLBACK; and COMMIT; relate to autocommit?

似乎您只需使用BEGIN即可完成交易所需的一切; 回滚并提交; 是否有某些情况需要使用自动提交? 是否呼叫BEGIN; 将autocommit设置为false? 是否调用COMMIT; 将autocommit设置为true?

可以针对每个会话或全局设置自动提交。 没有需要自动提交的方案(并非所有RDMS都支持自动提交模式)。 在我看来,默认情况下会显示自动提交并默认为true的原因是因为MyISAM引擎根本不支持事务,因此,为了减轻为MyISAM编写的移植应用程序的移植,它们可以模仿相同的行为。

是否呼叫BEGIN; 将autocommit设置为false? 是否调用COMMIT; 将autocommit设置为true?

mysql文档

要为一系列语句禁用自动提交模式,请使用START TRANSACTION语句:...
使用START TRANSACTION,自动提交将保持禁用状态,直到您使用COMMIT或ROLLBACK结束事务。 然后,自动提交模式将恢复为之前的状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM