文档解释
Error number: 3977; Symbol: ER_STATEMENT_NOT_ALLOWED_AFTER_START_TRANSACTION; SQLSTATE: HY000
Message: Only BINLOG INSERT, COMMIT and ROLLBACK statements are allowed after CREATE TABLE with START TRANSACTION statement.
:
Error number: 3977; Symbol: ER_STATEMENT_NOT_ALLOWED_AFTER_START_TRANSACTION; SQLSTATE: HY000
错误说明:
ER_STATEMENT_NOT_ALLOWED_AFTER_START_TRANSACTION 这个MySQL错误表明在开始一个事务之后,某条语句不允许被执行。
常见案例
MySQL错误 ER_STATEMENT_NOT_ALLOWED_AFTER_START_TRANSACTION 常常发生在用户执行一条 START TRANSACTION 语句之后尝试执行非必要执行的事务语句,比如 DROP TABLE 或者 UPDATE 语句时。
解决方法:
为了解决ER_STATEMENT_NOT_ALLOWED_AFTER_START_TRANSACTION 这个 MySQL错误,用户需要首先检查,确认当前在执行的语句是否符合语义的事务处理的规则,并且是否在 START TRANSACTION 命令之后执行。如果被执行的语句不符合这些条件,那么可以把这些查询放到事务处理的外部, 在 START TRANSACTION 之前执行。