CREATE TABLE ... LIKE 基于另一个表的定义创建一个空表,包括原表的所有列属性和索引:

CREATE TABLE new_tbl LIKE orig_tbl;

新创建的空表使用原表相同版本的存储格式。用户需要拥有对原表的SELECT权限。

LIKE只能用于基表,而不能用于视图。

注意

LOCK TABLES语句生效时,不能执行CREATE TABLE or CREATE TABLE ... LIKE

CREATE TABLE ... LIKECREATE TABLE一样,会进行相同的检查,不仅仅是复制.fim文件。 这意味着,如果当前的SQL模式和创建原表时的模式不同时,那么表的定义可能会被认为是无效的,且语句将会执行失败。

对于CREATE TABLE ... LIKE,目标表会保存原表已有的列信息,但是不会保存任何数据目录、索引目录和外键。

如果要复制临时表(TEMPORARY),可以使用CREATE TEMPORARY TABLE ... LIKE

原文:CREATE TABLE … LIKE Syntax