我需要从一个表到另一个表插入一些行,这是两个表的结构:
ID列是具有自动增量的主键,因此如果我使用
INSERT INTO table1 SELECT * FROM table2
,
sql生成此错误#1062 - 重复条目' 1'关键' PRIMARY' 。
我可以省略ID列,但问题是新ID是自动生成的。我在另一个表中有ID引用,所以我的问题是:当我在下面输入命令时,有没有办法为ID指定START编号?
INSERT INTO table1(
course_id,
course,
bookmark,
course_date,
posttest,
post_attempts
)
SELECT
course_id,
course,
bookmark,
course_date,
posttest,
post_attempts
FROM table2
答案 0 :(得分:0)
答案 1 :(得分:0)
要增加新插入数据的ID
值,请执行以下操作:
INSERT INTO table1(
ID,
course_id,
course,
bookmark,
course_date,
posttest,
post_attempts
)
SELECT
ID + 1000 AS ID,
course_id,
course,
bookmark,
course_date,
posttest,
post_attempts
FROM table2
但是如果你想跳过一些起始值,你可以在选择时使用WHERE
子句:
...
FROM table2
WHERE ID > 10