2010-04-07 97 views
0

如果我正在使用mysql客户端(如松鼠)执行更新查询,10秒后,我取消了查询,是否会进行部分更新或将所做的所有事情回滚?数据库事务

回答

0

如果您的查询包含在Transaction块中,并且如果您在中间停止它,则所有内容都将回滚。

0

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

1

您可能想要检查BEGIN TRANSACTION,COMMIT和ROLLBACK上的MySQL documentation

我相信它会取决于你选择的引擎(例如,InnoDB的),我看到了有关ROLLBACK以下注释:

如果您在更新非事务 表后发出ROLLBACK语句 一个事务,一个 ER_WARNING_NOT_COMPLETE_ROLLBACK 警告发生。 对事务安全表的更改将回滚 ,但不会更改为 非交易安全表。