好的,所以我厌倦了SQL,我总是要求帮助,让我来表明我的问题。 我有2个表,这里是两个结构:
现在我需要将一个表的所有行移动到另一个表(不更新),只需要一个表包含两个表的所有行。
ID列是自动增量的主键,但是当我尝试使用INSERT INTO table1 SELECT * FROM table2
时,sql会生成此错误#1062 - 键'PRIMARY'的重复条目'1'。
答案 0 :(得分:2)
如果table1
在ID
上有身份,您应该只选择除ID
INSERT INTO table1(
course_id,
course,
bookmark,
course_date,
posttest,
post_attempts
)
SELECT
course_id,
course,
bookmark,
course_date,
posttest,
post_attempts
FROM table2
答案 1 :(得分:0)
如果您不关心传输过的旧表中的ID,可以使用:
INSERT INTO newTable (courseID, course, bookmark, course_date, posttest, post_attempts)
SELECT courseID, course, bookmark, course_date, posttest, post_attempts
FROM oldTable;
这将传输除ID之外的所有列,这应解决问题。