有多条记录
例如:
ID Name subject cindex
1 abc mat 45
2 jjj scie 45
3 kkk geom 45
4 sdf eng 45
5 idf law 45
现在我想插入相同的记录,但使用不同的cindex
。我试过这个:
insert into b_table (ID,name,subject,cindex) values (+1,NULL,NULL,90)
select name,subject from b_table where cindex=45
此处ID
不是自动增量列。我尝试使用+1 ..现在我认为这个查询不正确,那么如何选择记录并插入不同cindex
的相同记录?
答案 0 :(得分:1)
如果它自动增量,请不要在ID
列中插入任何内容,请使用:
insert into b_table (id,name,subject,cindex)
select (SELECT max(id) FROM b_table) + id,name,subject,90 from b_table where cindex=45
编辑:为了澄清您在评论中提出的问题,请以此表格为例:
ID, NAME
1 super
2 sagi
3 josh
SELECT id, name , 'bla bla bla' as constant_string, 45 constant_number
FROM Table
将输出以下内容:
ID,name,constant_string,constant_number
1 super 'bla bla bla' 45
2 sagi 'bla bla bla' 45
3 josh 'bla bla bla' 45
当您选择字符串或数字时,不会从实际表格数据中选择它们。它们是作为一个恒定值产生的,并附加了#34;对你的数据。
答案 1 :(得分:1)
有一个子查询返回表的最大ID。将该值添加到每个选定的ID。
insert into b_table (ID,name,subject,cindex)
select id + (select max(id) from b_table), Name, subject, 90
from b_table where cindex = 45