可能存在类似的
复制表
创建表的
情况…选择不合适,因为副本必须包含相同的索引、
默认值等。
按照以下
步骤,您可以
处理这种情况。
在创建表语句时使用show创建表来获取指定源表的结构、索引等。
修改语句以更改语句的列表名称并
执行语句。
或者,如果需要复制表的内容,则可以使用插入…SELECT语句。
例子:
请看下面的例子创建一个克隆表tutorials_tbl
步骤1:
得到表格的完整结构
MySQL >
显示创建表tutorials_tbl G;
*************************** 1。行***************************
表:tutorials_tbl
表的创建:创建表(` tutorials_tbl `
` tutorial_id ` int(11)不为空auto_increment,
` tutorial_title ` varchar(100)不为空的默认,
` tutorial_author ` varchar(40)不为空的默认,
` submission_date `
日期默认为空,
主键(` tutorial_id `),
独特的关键` author_index `(` tutorial_author `)
类型= InnoDB)
1行集(0秒)
误差:
没有
查询指定
步骤2:
重命名表并创建另一个表
MySQL >创建表` clone_tbl `(
` tutorial_id `,int(11)不为空auto_increment,
` tutorial_title `,varchar(100)不为空的默认,
` tutorial_author `,varchar(40)不为空的默认,
日期默认为空-> ` submission_date `,
-主键(` tutorial_id `),
独特的关键` author_index `(` tutorial_author `)->
->类型= InnoDB);
查询OK,0行受
影响(1.80秒)
步骤3:
在执行步骤2的克隆数据库的表中。如果要从旧表中的数据复制,可以使用插入到…SELECT语句。
MySQL >插入clone_tbl(tutorial_id,
-> tutorial_title,
-> tutorial_author,
-> submission_date)
选择,tutorial_id,tutorial_title,
-> tutorial_author,submission_date,
从-> tutorials_tbl;
查询OK,3行受影响(0.07秒)
记录:3个重复:0个警告:0
最后,将有一个精确的克隆表。