我正在使用dapper.net和sqlite。当我执行这个查询时,只插入第一个id,其余的都被忽略。如何批量插入?
insert or ignore into pair(key, value)
select @key, (select value from list where id in @id_list)
没有FROM子句的SELECT查询将生成一条记录:
> SELECT 42;
42
当您将子查询放入SELECT列表时,该子查询是一个标量子查询,它只返回单个值。
要为查询中的每条记录返回一个常量值,必须将该常量放入该查询的SELECT子句中:
INSERT OR IGNORE INTO pair(key, value)
SELECT @key, value FROM list WHERE id IN (1,2,3,...)