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
語句對除了該語句建立的資料表以外的任何資料表進行任何變更。