Documentation Home
MySQL 8.0 参考手册  / 第 13 章 SQL 语句  / 13.1 数据定义语句  / 13.1.20 CREATE TABLE 语句  /  13.1.17.3 CREATE TABLE ... LIKE 语句

13.1.17.3 CREATE TABLE ... LIKE 语句

用于CREATE TABLE ... LIKE根据另一个表的定义创建一个空表,包括原始表中定义的任何列属性和索引:

CREATE TABLE new_tbl LIKE orig_tbl;

副本是使用与原始表相同版本的表存储格式创建的。SELECT原始表需要 该 权限。

LIKE仅适用于基表,不适用于视图。

重要的

您不能执行CREATE TABLEor CREATE TABLE ... LIKEwhile LOCK TABLES语句生效。

CREATE TABLE ... LIKECREATE TABLE进行与不只是复制文件相同的检查 .frm。这意味着如果当前 SQL 模式与创建原始表时有效的模式不同,则表定义可能被认为对新模式无效并且语句失败。

CREATE TABLE ... LIKE不保留为原始表指定的任何 DATA DIRECTORYINDEX DIRECTORY表选项,或任何外键定义。

如果原表是TEMPORARY表, CREATE TABLE ... LIKE则不保留 TEMPORARY。要创建 TEMPORARY目标表,请使用 CREATE TEMPORARY TABLE ... LIKE.