Transaction 与 autocommit 有些 ORM 框架(比如 sequelize 这个坑),在 start transaction 后提供 set autocommit = 0 的操作。 但是事务结束后 ORM 并没有恢复 autocommit,那么在同一个 mysql 线程上,由于后续 SQL 请求没有主动 commit,导致各种问题。 两个知识点: mysql 的一个线程对应一个 Session autocommit 的 scope 是 Global 或 Session 级别的,详见官方文档