13.1.18.3 CREATE TABLE ... LIKE 语句

使用CREATE TABLE ... LIKE根据另一个 table 的定义创建一个空 table,包括在原始 table 中定义的所有列属性和索引:

CREATE TABLE new_tbl LIKE orig_tbl;

使用与原始 table 相同的 table 存储格式版本创建副本。原始 table 需要SELECT特权。

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

Important

LOCK TABLES语句有效时,您无法执行CREATE TABLECREATE TABLE ... LIKE

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

对于CREATE TABLE ... LIKE,目标 table 保留从原始 table 生成的列信息。

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

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