我有一个返回主键列表 (user_id) 的 Select 语句。
select user_id from myttable
where <some-condition>;
然后我想为每个从前一个 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>)
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>
关于mysql - SQL - 将特定 ID 列表插入到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33225475/