CREATE
TABLE ... SELECTMySQL在复制语句
时应用这些规则
:
如果目标表不存在,则记录如下。
IF NOT EXISTS是否存在 并不重要。STATEMENT或MIXED格式:语句按书面记录。ROW格式:该语句被记录为一个CREATE TABLE语句,后跟一系列插入行事件。在 MySQL 8.0.21 之前,该语句被记录为两个事务。从 MySQL 8.0.21 开始,在支持原子 DDL 的存储引擎上,它被记录为一个事务。有关详细信息,请参阅 第 13.1.1 节,“原子数据定义语句支持”。
如果
CREATE TABLE ... SELECT语句失败,则不会记录任何内容。这包括目标表存在IF NOT EXISTS但未给出的情况。如果目标表存在并
IF NOT EXISTS给出,MySQL 8.0 将完全忽略该语句;没有插入或记录任何内容。
MySQL 8.0 不允许一条
CREATE
TABLE ... SELECT语句对该语句创建的表以外的表进行任何更改。