MySQL 9.0 发行说明
当复制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 9.0 会完全忽略该语句;不会插入或记录任何内容。
MySQL 9.0 不允许 CREATE TABLE ... SELECT
语句对除创建该语句的表以外的任何表进行任何更改。