如果我正在使用mysql客户端(例如squirrel)执行更新查询,10秒后,我取消了查询,是否会进行部分更新或者是否会回滚所有内容?
答案 0 :(得分:1)
您可能希望在BEGIN TRANSACTION,COMMIT和ROLLBACK上查看MySQL documentation。
我相信这取决于您选择的引擎(例如InnoDB),我看到以下关于ROLLBACK的评论:
如果您发出ROLLBACK语句 更新非事务性后 交易中的表,一个 ER_WARNING_NOT_COMPLETE_ROLLBACK 警告发生。改变为 事务安全表已滚动 回来了,但没有改变 非交易安全表。
答案 1 :(得分:0)
如果您的查询包含在一个Transaction块中,如果您在中间停止了查询,那么所有内容都将被回滚。
答案 2 :(得分:0)
如果MySql声称自己是一个真正的数据库,它会将所有内容都回滚,对于单个更新语句更是如此。