我有一个运行存储过程的 mysql 5.1 db
START TRANSACTION
Insert some rows to table 1
Insert some rows to table 2
COMMIT
调用此存储过程通常会失败
SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction
根据此处的此页面,如果未启动 mysql 服务器,innodb_rollback_on_timeout
则仅回滚最后一条语句,但START TRANSACTION
其自身将设置autocommit = 0
。这是否意味着我们的 mysql 服务器需要使用此参数启动,以便它不会使 db 处于不一致的状态,即某些行插入到表 1 中而不是插入到表 2 中?