程序退出时自动回滚

Nie*_*sol 3 mysql transactions

关于事务MySQL 文档似乎缺少一项重要的信息,这就是我的问题:

如果事务正在进行并且客户端断开连接(在我的情况下,如果 PHP exits 或die()s 或只是到达代码的末尾),事务是回滚还是提交?

我假设回滚,但如果假设错误,那可能是一个大问题......

如果有任何区别,所有表都使用 InnoDB 引擎。

Dav*_* Z. 5

在正常情况下,客户端断开连接会导致 MySQL 回滚。但是,如果您的服务器意外停机(例如硬件或网络故障),则可能需要一些时间才能断开客户端连接。根据手册,28800 秒是服务器在回滚事务之前等待活动的默认值。

您可以调整wait_timeout服务器或interactive_timeout属性上的设置以缩短此时间。