【问题标题】:bulk insert using sqlite and dapper使用 sqlite 和 dapper 批量插入
【发布时间】:2014-03-13 04:36:16
【问题描述】:

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

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

【问题讨论】:

    标签: .net sqlite dapper


    【解决方案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,...)
    

    【讨论】:

      猜你喜欢
      • 2021-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-23
      • 2019-09-18
      • 2013-08-15
      • 1970-01-01
      相关资源
      最近更新 更多