我有一个Select语句返回主键列表(user_id).
select user_id from myttable
where <some-condition>;
Run Code Online (Sandbox Code Playgroud)
然后我想为前一个Select中返回的每个ID插入一个新行.我可以在一个SQL查询中执行此操作吗?它可以是这样的吗?看起来很像我在这里需要一个循环.
insert into mytable
values (user_id, value1, value2, value3, value4, value5)
where user_id in
(select user_id from myttable
where <some-condition>)
Run Code Online (Sandbox Code Playgroud)
value1, value2, ..., value5对于所有插入物都是相同的,除了user_id.我可以完成"更新"而不是插入,但我需要保留旧行以用于其他目的.
到目前为止,我所做的是我刚刚获得了一个user_id列表,并在Java中,浏览了该列表并逐个插入.
insert into mytable(user_id,col1,col2)
select user_id,'static_val1','static_val2'
from myttable
where <some-condition>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1397 次 |
| 最近记录: |