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
语句对除由该语句创建的表以外的任何表进行更改。