CREATE TABLE ... LIKE
基于另一个表的定义创建一个空表,包括原表的所有列属性和索引。
1CREATE TABLE new_tbl LIKE orig_tbl;
新创建的空表使用原表相同版本的存储格式。用户需要拥有对原表的 SELECT
权限。
LIKE
只能用于基表,而不能用于视图。
注意
当LOCK TABLES
语句生效时,不能执行CREATE TABLE
或CREATE TABLE ... LIKE
。CREATE TABLE ... LIKE
和CREATE TABLE
一样,会进行相同的检查,不仅仅是复制.fim
文件。
这意味着,如果当前的SQL模式和创建原表时的模式不同时,那么表的定义可能会被认为是无效的,且语句将会执行失败。
对于 CREATE TABLE ... LIKE
,目标表会保存原表已有的列信息,但是不会保存任何数据目录、索引目录和外键。
如果要复制临时表 TEMPORARY
,可以使用 CREATE TEMPORARY TABLE ... LIKE
。