使用sqlite和dapper批量插入

时间:2014-03-13 04:36:17

标签: .net sqlite dapper

我正在使用dapper.net和sqlite。当我执行此查询时,只有第一个id是insert,其余的被忽略。我如何批量插入?

insert or ignore into pair(key, value) 
    select @key, (select value from list where id in @id_list)

1 个答案:

答案 0 :(得分:1)

没有FROM子句的SELECT查询将生成一条记录:

> SELECT 42;
42

当您将子查询放入该SELECT列表时,该子查询是scalar subquery,它只返回一个值。

要为查询中的每条记录返回常量值,必须将该常量放入该查询的SELECT子句中:

INSERT OR IGNORE INTO pair(key, value) 
SELECT @key, value FROM list WHERE id IN (1,2,3,...)