有没有办法可以使用条件在一个表中进行多次插入?

时间:2010-01-30 17:40:28

标签: sql sqlite

有没有办法可以使用条件在一个表中进行多次插入?

我在tbl_subscribers中有一个订阅者列表。我有关于productX的更新,所以我希望订阅productX的每个人都能收到通知。 user_notification表为id PK, user_id, notification_id。我需要的两个值是product_id(productX),它允许我在tbl_subscribers中找到订阅者列表,并将notification_id插入到user_notification表中。

如何使用一个查询执行此插入操作?我看到你可以在sqlite http://www.sqlite.org/lang_insert.html中做一个select语句,但我无法理解我是如何做到这一点的,也看不到一个例子。

2 个答案:

答案 0 :(得分:2)

我相信你正在从INSERT SELECT中寻找,如下所示:

http://www.1keydata.com/sql/sqlinsert.html

  

第二种类型的INSERT INTO允许   我们在a中插入多行   表。与前面的例子不同,   我们在哪里插入一行   为所有列指定其值,   我们现在使用SELECT语句来   指定我们想要的数据   插入表格。如果你是   想一想这是否意味着你   正在使用另一个人的信息   表,你是对的。语法是   如下:

INSERT INTO "table1" ("column1", "column2", ...) 
SELECT "column3", "column4", ... FROM "table2"

答案 1 :(得分:1)

insert into user_notification(user_id, notification_id)
select s.user_id, @notification_id 
from tbl_subscriber s 
where s.product_id = @productX