#### 17.5.1.7 CREATE TABLE ... SELECT 语句的复制

[](<>)[](<>)

MySQL 应用这些规则时[`创建表...选择`](create-table-select.html)语句被复制：

-   [`创建表...选择`](create-table-select.html)总是执行隐式提交（[第 13.3.3 节，“导致隐式提交的语句”](implicit-commit.html)）。

-   如果目标表不存在，日志记录如下。没关系`如果不存在`存在。

    -   `陈述`要么`混合`格式：该语句被记录为书面。

    -   `排`格式：语句记录为[`创建表`](create-table.html)语句后跟一系列插入行事件。

        在 MySQL 8.0.21 之前，该语句被记录为两个事务。从 MySQL 8.0.21 开始，在支持 atomic DDL 的存储引擎上，它被记录为一个事务。有关详细信息，请参阅[第 13.1.1 节，“原子数据定义语句支持”](atomic-ddl.html).

-   如果[`创建表...选择`](create-table-select.html)语句失败，没有记录任何内容。这包括目标表存在的情况，并且`如果不存在`没有给出。

-   如果目标表存在并且`如果不存在`给出，MySQL 8.0 完全忽略该语句；没有插入或记录任何内容。

    MySQL 8.0 不允许[`创建表...选择`](create-table-select.html)语句以对该语句创建的表以外的表进行任何更改。
