当机器在mysql事务执行之间关闭时会发生什么?

时间:2017-08-25 08:10:39

标签: mysql database transactions

我正在为我的Java应用程序使用MySQL数据库。我正在使用交易。我很好奇当机器在Transaction之间突然关机时会发生什么。它是在服务器启动或其他任何事情发生时回滚的。

1 个答案:

答案 0 :(得分:0)

Greg Kemnitz引用:

是的,“中间事务”操作实际上是ROLLBACK - 当服务器恢复时它们的更改被撤消 - 而在关闭线程命中它们之前执行其COMMIT语句的事务将是COMMIT。

请注意,这仅适用于支持事务的InnoDB或XtraDB等存储引擎。 MyISAM未定义此情况下的行为,因为它不支持事务。

原帖:

https://www.quora.com/If-MySQL-server-shutdown-mid-transaction-does-the-atomic-principle-for-transactions-hold