0

我正在尝试将表 A 中的帖子表中的数据复制到数据库 B 中的帖子表中。数据库 B 有一个空白的帖子表,其架构与 A 不同。

这是我提出的查询:

INSERT INTO b.post (post_id, thread_id, user_id, username, post_date) SELECT 
                     postid,  threadid,  userid,  username, dateline FROM a.post;

但是当我运行上面的命令时,我从 mysql CLI 得到,

错误 1062 (23000):键 'PRIMARY' 的重复条目 '1'

我应该如何解决这个问题?

PS 数据库 b 用于新的 Xenforo 论坛和要迁移的 Vbulletin 论坛。我不介意覆盖 b 上的数据,但显然我想保持架构完整。

4

1 回答 1

0

只需删除主键约束。

ALTER TABLE tablename DROP PRIMARY KEY

Edit

但显然我想保持架构完好无损。

INSERT INTO b.post (post_id, thread_id, user_id, username, post_date) 
SELECT postid,  threadid,  userid,  username, dateline FROM a.post 
group by postid;

请注意:由于 post_id 是主键,因此会丢失一些记录

请阅读有关主键的信息

于 2013-05-26T19:28:49.567 回答