MySQL 8.4 Release Notes
19.5.1.37 复制和TRUNCATE TABLE
TRUNCATE TABLE
通常被视为 DML 语句,因此在 binary logging 模式为 ROW
或 MIXED
时,使用行格式对其进行日志记录和复制。但是在 STATEMENT
或 MIXED
模式下,使用事务存储引擎如 InnoDB
的表时,事务隔离级别为 READ COMMITTED
或 READ UNCOMMITTED
,这使得语句基于日志记录不可能。
TRUNCATE TABLE
在日志记录和复制方面被视为 DDL 而不是 DML,以便可以将其日志记录和复制为语句。但是,对于 InnoDB
和其他事务表在复制端的影响仍然遵守 Section 15.1.37, “TRUNCATE TABLE Statement” 中描述的规则。 (Bug #36763)