SQL,如何将表的所有行插入到另一个表中
好,所以我吮吸SQL,我总是不得不寻求帮助,让我展示我的问题。 我有2个表,这里是两个结构:
现在我需要将一个表的所有行移动到另一个表(而不是更新),只是为了只有一个表的所有行都有。 ID列是一个自动增量的主键,但是当我试图使用INSERT INTO table1 SELECT * FROM table2
,sql会产生这个错误#1062 - 重复键'PRIMARY'的条目'1' 。
如果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
如果你不关心旧表转移的ID,你可以使用这个:
INSERT INTO newTable (courseID, course, bookmark, course_date, posttest, post_attempts)
SELECT courseID, course, bookmark, course_date, posttest, post_attempts
FROM oldTable;
这将转移除ID以外的所有列,这应解决问题。
链接地址: http://www.djcxy.com/p/94291.html上一篇: SQL, how to insert all rows of a table into another one