10bet网址
MySQL 8.0参考手册
相关文件10bet官方网站 下载本手册 从本手册中摘录

15.21.4 InnoDB错误处理

以下项目描述了如何Innodb.执行错误处理。Innodb.有时只滚动失败的语句,其他时候它会回滚整个事务。

  • 如果您在a中耗尽文件空间表空间,一个mysql.表很满发生错误Innodb.滚动SQL语句。

  • 交易僵局原因Innodb.回滚整个交易。发生这种情况时重试整个交易。

    锁定等待超时原因Innodb.回滚当前语句(正在等待锁定并遇到超时的语句)。要使整个事务回滚,请启动服务器- Innodb-Rollback-on-Timeout启用。如果使用默认行为或整个交易,请重试语句- Innodb-Rollback-on-Timeout已启用。

    忙碌服务器上的死锁和锁等待超时都是正常的,并且需要通过重试,所以要意识到它们可能会发生并处理它们。您可以通过在事务和提交期间在第一次改变数据之间尽可能少的工作来使它们不太可能,因此锁定是最短的时间和最小可能的行数。有时拆分不同事务之间的工作可能是实际和有用的。

  • 如果未指定,则重复键错误滚动SQL语句忽略您的陈述中的选项。

  • 一种排太长了滚动SQL语句。

  • MySQL代码层主要检测到其他错误(以上Innodb.存储引擎级别),它们回滚相应的SQL语句。锁不会在单个SQL语句的回滚中释放。

在隐式回滚期间,以及在执行显式的情况下回滚SQL语句,显示processlist.显示滚回来在里面状态列为相关连接。