我正在尝试将表A中的posts表中的数据复制到数据库B中的post表中。 数据库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获取
ERROR 1062(23000):密钥'PRIMARY'重复输入'1'
我该如何解决这个问题?
P.S。数据库b用于新的Xenforo论坛和表格,以便迁移Vbulletin论坛。我不介意在b上覆盖数据,但显然我想保持架构完好无损。
答案 0 :(得分: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是主键,有些记录会丢失
请阅读 Primary Key