在下面的Mysql查询中,
CREATE TABLE `t1` LIKE `student`
从学生新创建的t1将具有与学生相同的模式和foriegn键。这是我的疑问。
任何人都可以清楚我的怀疑吗?
答案 0 :(得分:0)
表t1具有与student和foreign key相同的模式,但它是空表。 Ref
有关详细信息,
<强>&GT; CREATE TABLE new_tbl SELECT * FROM orig_tbl;
在这种情况下,原始表中的所有数据都将复制到新表中,但架构相关信息(如primay key contratint)不包括。
<强>&GT; CREATE TABLE new_tbl LIKE orig_tbl;
在这种情况下,新表与原始表具有相同的模式,但没有数据。
答案 1 :(得分:0)
引自here:
使用LIKE根据另一个表的定义创建一个空表,包括原始表中定义的所有列属性和索引:
CREATE TABLE new_tbl LIKE orig_tbl;
使用与原始表相同版本的表存储格式创建副本。原始表上需要SELECT权限。
LIKE仅适用于基表,不适用于视图。
CREATE TABLE ... LIKE不保留为原始表或任何外键定义指定的任何DATA DIRECTORY或INDEX DIRECTORY表选项。