16.4.1.35 复制和 TRUNCATE TABLE
TRUNCATE TABLE通常被视为 DML 语句,因此在二进制日志记录模式为ROW
或MIXED
时,应该使用基于行的格式来记录和复制TRUNCATE TABLE。但是,在事务隔离级别为READ COMMITTED
或READ UNCOMMITTED
时,在以STATEMENT
或MIXED
模式记录或复制使用InnoDB之类的事务存储引擎的 table 时,这会导致问题,这会阻止基于语句的记录。
出于日志记录和复制的目的,TRUNCATE TABLE被视为 DDL 而不是 DML,以便可以将其记录并复制为一条语句。但是,该语句在副本上适用于InnoDB和其他事务 table 的效果仍然遵循第 13.1.34 节“ TRUNCATE TABLE 语句”中描述的控制此类 table 的规则。错误 36763)