0

在 Mysql 中的以下查询中,

CREATE TABLE `t1` LIKE `student`

从学生新创建的 t1 将具有与学生相同的模式和外键。这是我的疑问。

谁能解除我的疑惑?

4

2 回答 2

0

表 t1 具有与学生和外键相同的模式,但它是空表。参考

有关详细信息,

  • 您可以通过在 CREATE TABLE 语句的末尾添加SELECT语句来从另一个表创建一个表:

> 创建表 new_tbl 选择 * FROM orig_tbl;

在这种情况下,原始表中的所有数据都将复制到新表中,但不包括与模式相关的信息,例如主键对比。


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

> 创建表 new_tbl LIKE orig_tbl;

在这种情况下,新表与原始表具有相同的架构,但没有数据。

于 2012-09-28T13:07:39.137 回答
0

从这里引用:

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

创建表 new_tbl LIKE orig_tbl;

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

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

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

于 2012-09-28T13:08:13.450 回答