MySQL 8.4 版本注意事項
當複製 CREATE TABLE ... SELECT 語句時,MySQL 會套用這些規則
CREATE TABLE ... SELECT一律會執行隱含提交 (第 15.3.3 節,「造成隱含提交的語句」)。如果目標資料表不存在,則會依照以下方式記錄。是否有
IF NOT EXISTS並不重要。STATEMENT或MIXED格式:語句會依原樣記錄。ROW格式:語句會記錄為CREATE TABLE語句,後面接著一系列插入列事件。對於支援原子 DDL 的儲存引擎,語句會記錄為一個交易。如需更多資訊,請參閱第 15.1.1 節,「原子資料定義語句支援」。
如果
CREATE TABLE ... SELECT語句失敗,則不會記錄任何內容。這包括目標資料表存在且未提供IF NOT EXISTS的情況。如果目標資料表存在且提供
IF NOT EXISTS,MySQL 8.4 會完全忽略該語句;不會插入或記錄任何內容。
MySQL 8.4 不允許 CREATE TABLE ... SELECT 語句對除了該語句建立的資料表以外的任何資料表進行任何變更。