MySQL Error number: 3977; Symbol: ER_STATEMENT_NOT_ALLOWED_AFTER_START_TRANSACTION; SQLSTATE: HY000

文档解释

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 之前执行。

你可能感兴趣的