如果出现唯一约束,则在Sequel跳过中插入多行



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

您可以使用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

最新更新