16.4.1.35 复制和 TRUNCATE TABLE

TRUNCATE TABLE通常被视为 DML 语句,因此在二进制日志记录模式为ROWMIXED时,应该使用基于行的格式来记录和复制TRUNCATE TABLE。但是,在事务隔离级别为READ COMMITTEDREAD UNCOMMITTED时,在以STATEMENTMIXED模式记录或复制使用InnoDB之类的事务存储引擎的 table 时,这会导致问题,这会阻止基于语句的记录。

出于日志记录和复制的目的,TRUNCATE TABLE被视为 DDL 而不是 DML,以便可以将其记录并复制为一条语句。但是,该语句在副本上适用于InnoDB和其他事务 table 的效果仍然遵循第 13.1.34 节“ TRUNCATE TABLE 语句”中描述的控制此类 table 的规则。错误 36763)