MySQL 9.0 版本注意事項
TRUNCATE TABLE
通常被視為 DML 陳述式,因此當二進制日誌模式為 ROW
或 MIXED
時,應會使用基於列的格式記錄和複寫。但是,當在 STATEMENT
或 MIXED
模式下記錄或複寫使用諸如 InnoDB
之類的交易式儲存引擎的表格時,交易隔離層級為 READ COMMITTED
或 READ UNCOMMITTED
時,就會發生問題,這會排除基於陳述式的記錄。
為了記錄與複寫的目的,TRUNCATE TABLE
被視為 DDL 而非 DML,以便可以將其記錄並複寫為陳述式。然而,該陳述式在複本上的 InnoDB
和其他交易表格上的適用效果,仍然遵循第 15.1.37 節,「TRUNCATE TABLE 陳述式」中描述的有關這類表格的規則。(錯誤 #36763)