【发布时间】:2021-10-05 06:15:17
【问题描述】:
我知道Dataset#multi_insert 和Dataset#insert。是否进行多次插入,但是否有可用的选项可以在激活唯一约束检查时跳过该特定插入
【问题讨论】:
我知道Dataset#multi_insert 和Dataset#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
【讨论】: