我一直在尝试将我的表复制到新表中。我也能够做到这一点
如果我的表格如下所示,我解释说它是按照这两个命令复制的
CREATE TABLE feeds_new LIKE feed; INSERT INTO feeds_new SELECT * FROM feeds;
+----+---------+
| id | name |
+----+---------+
| 1 | dog |
| 2 | cat |
| 4 | penguin |
| 9 | lax |
| 23| whale |
| 24| ostrich |
+----+---------+
但我想这样。 我希望在feed_new中修复所有混乱的自动增量。
+----+---------+
| id | name |
+----+---------+
| 1 | dog |
| 2 | cat |
| 3 | penguin |
| 4 | lax |
| 5 | whale |
| 6 | ostrich |
+----+---------+
我不想以同样的方式复制。
〜谢谢你〜
答案 0 :(得分:1)
使用类似:
Create table feeds_new (
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY (id),
name varchar(100)
) ENGINE=MyISAM
SELECT name FROM feeds;
在feedle上查看:http://sqlfiddle.com/#!2/70d80/1
答案 1 :(得分:1)
如果我没有错,那么您的主要关注点是修复/重置auto_increment
表中的id
列feeds_new
并插入来自feeds
表的数据。
在这种情况下,您只需重置auto_increment
列id
,如
ALTER TABLE feeds_new AUTO_INCREMENT = 1
然后像
一样插入其中INSERT INTO feeds_new (name) SELECT name FROM feeds
旁注:这是我从你的帖子中理解的。评论它,如果确实不是这样的话。我必须删除/修改答案。