从select子查询中插入多行

时间:2013-09-26 10:50:57

标签: sql sql-insert

我想将选择结果集插入另一个表中。我发现了类似的问题,但我无法找到问题的答案。对不起,我只是不明白插入和选择如何一起工作。 所以,我的问题,即代码没有做我想要的:

insert into tbl1 (`id1`,`id2`,`id3`,`id4`,`id5`)
(select distinct 0,id22, 0, 0, 0 from tbl2 
where 
tbl2.col66 < (select MAX(tbl2.col66) from tbl2)
or 
tbl2.col66 = 0)
on duplicate key update id1=LAST_INSERT_ID(id1);

有一个select查询,它独立地从tbl2正确返回7行。 我想在不同的表tbl1中插入这7行。 但插入仅适用于select的第一个结果行。如果我将插入循环运行7次,则从选择查询中获得第一行结果的7倍。

有关tbl1的信息:

  

id1 int主键auto_increment

     

id2id3id4id5 int null default null

有关tbl2的信息:

  

id11 int主键auto_increment

     

id22 int null default null

     

col33col44col55col66col77 int null default null

提前感谢,如果有人能指出我从select子查询中插入多行的正确方向。

0 个答案:

没有答案