文档主页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  CREATE TABLE ... SELECT 语句的复制

19.5.1.7 CREATE TABLE ... SELECT 语句的复制

当复制CREATE TABLE ... SELECT 语句时,MySQL 会应用以下规则。

  • CREATE TABLE ... SELECT 始终执行隐式提交 (第 15.3.3 节 “导致隐式提交的语句”)。

  • 如果目标表不存在,则日志记录如下。无论是否使用 IF NOT EXISTS 都无关紧要。

    • STATEMENTMIXED 格式:将语句按原样记录。

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