如果我使用mysql客户端(例如,squirrel)来执行更新查询,10秒后,我取消了查询,是否会有部分更新,或者是否会回滚已完成的所有操作?
发布于 2010-04-08 02:36:11
您可能希望在BEGIN TRANSACTION、COMMIT和ROLLBACK时检查MySQL documentation。
我相信这将取决于您选择的引擎(例如,InnoDB),我看到了以下关于回滚的评论:
如果在更新事务内的非事务性表之后发出ROLLBACK语句,则会出现ER_WARNING_NOT_COMPLETE_ROLLBACK警告。对事务安全表的更改将被回滚,但不会回滚对非事务安全表的更改。
发布于 2010-04-08 02:20:08
如果您的查询包含在一个事务块中,并且您在中间停止了它,则所有内容都将被回滚。
发布于 2010-04-08 02:20:12
如果MySql声称自己是一个真正的数据库,它将回滚所有内容,对于单个update语句更是如此。
https://stackoverflow.com/questions/2594835
复制相似问题