数据库事务

时间:2010-04-07 18:18:02

标签: mysql transactions database

如果我正在使用mysql客户端(例如squirrel)执行更新查询,10秒后,我取消了查询,是否会进行部分更新或者是否会回滚所有内容?

3 个答案:

答案 0 :(得分:1)

您可能希望在BEGIN TRANSACTION,COMMIT和ROLLBACK上查看MySQL documentation

我相信这取决于您选择的引擎(例如InnoDB),我看到以下关于ROLLBACK的评论:

  

如果您发出ROLLBACK语句   更新非事务性后   交易中的表,一个   ER_WARNING_NOT_COMPLETE_ROLLBACK   警告发生。改变为   事务安全表已滚动   回来了,但没有改变   非交易安全表。

答案 1 :(得分:0)

如果您的查询包含在一个Transaction块中,如果您在中间停止了查询,那么所有内容都将被回滚。

答案 2 :(得分:0)

如果MySql声称自己是一个真正的数据库,它会将所有内容都回滚,对于单个更新语句更是如此。