我想将选择结果集插入另一个表中。我发现了类似的问题,但我无法找到问题的答案。对不起,我只是不明白插入和选择如何一起工作。 所以,我的问题,即代码没有做我想要的:
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
id2
,id3
,id4
,id5
int null default null
有关tbl2的信息:
id11
int主键auto_increment
id22
int null default null
col33
,col44
,col55
,col66
,col77
int null default null
提前感谢,如果有人能指出我从select子查询中插入多行的正确方向。