Mysqli 简明教程
MySQLi - Clone Tables
可能存在需要一张表的精确副本的情况,而对于 CREATE TABLE … SELECT 来说,因为副本必须包含相同的索引、默认值等,它并不适合你的目的。
你可以执行以下步骤来处理此类情况−
-
使用“SHOW CREATE TABLE”获取“CREATE TABLE”语句,该语句指定源表结构、索引等。
-
修改语句以将表名更改为克隆表的表名,然后执行该语句。通过这种方式,你将获得精确的克隆表。
-
另外,如果还需要复制表内容,请再发布“INSERT INTO… SELECT”语句。
Step 1
获取表的完整结构。
mysql> SHOW CREATE TABLE tutorials_inf \G;
*************************** 1. row ***************************
Table: tutorials_inf
Create Table: CREATE TABLE `tutorials_inf` (
`id` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `AUTHOR_INDEX` (`name`),
UNIQUE KEY `NAME_INDEX` (`name`),
KEY `id` (`id`)
) ENGINE = InnoDB DEFAULT CHARSET = latin1
1 row in set (0.05 sec)
ERROR: No query specified