【问题标题】:Mulitiple row insert in Sequel skip if unique constrain occurs Ruby sequel如果发生唯一约束,则在 Sql 中跳过多行插入 Ruby sequel
【发布时间】:2021-10-05 06:15:17
【问题描述】:

我知道Dataset#multi_insertDataset#insert。是否进行多次插入,但是否有可用的选项可以在激活唯一约束检查​​时跳过该特定插入

【问题讨论】:

    标签: sql ruby sequel


    【解决方案1】:

    你可以使用insert_conflict方法。

    “在插入时处理唯一性违规,通过更新 冲突行,使用 ON CONFLICT。没有选项,使用 ON CONFLICT 什么都不做。”

    DB[:table].insert_conflict.insert(a: 1, b: 2)
    # INSERT INTO TABLE (a, b) VALUES (1, 2)
    # ON CONFLICT DO NOTHING
    

    它也适用于multi_insert

    DB[:table].insert_conflict.multi_insert([{a: 1, b: 2}, {a: 3, b: 4}])
    # INSERT INTO TABLE (a, b) VALUES (1, 2), (3, 4)
    # ON CONFLICT DO NOTHING
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多