今天在删除表格的时候出现如下报错:
于是通过查询当前线程发现有多个线程同时开启运行中。。。
再查看当前运行的所有事务:
SELECT * FROM information_schema.INNODB_TRX;
可以发现有三个事务同时都在运行。。。所以可以找到掌柜这里报错的直接原因是:
之前存储过程(里面开启了事务)运行半天没有反应就手动关闭了MySQL。。。没有让它进行commit。。。并且之后在同一事务再对数据进行删除操作就造成了事务锁。。。
而根本原因是MySQL默认使用的是Innodb引擎,而Innodb的默认参数: innodb_lock_wai