我有一個Select語句返回主鍵(user_id)的列表。SQL - 插入表的ID爲特定列表
select user_id from myttable
where <some-condition>;
然後,我想插入一個新的行爲每個從上一個選擇返回的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語句中有三個值,但你只能選擇一個從表。其他兩位從哪裏來? – Schwern
哦,對不起。我只是修改了聲明。基本上,value1,...,value5對於所有插入都是相同的,除了user_id。 – Simo