我正在尝试创建一个查询,例如:
INSERT INTO users (id, level)
VALUES (1, 0)
ON CONFLICT (id) DO UPDATE
SET level = users.level + 1;
但是我看不出如何使用蛋白石做到这一点?这不受支持吗?
奇怪的是,我们Insert
用一个iOnConflict :: Maybe OnConflict
字段来定义。但是OnConflict
被定义为:data OnConflict = DoNothing
所以它现在看起来只是一个占位符?
在 github 上列出的问题之后,我看到它导致了这个最终的 PR:https://github.com/tomjaguarpaw/haskell-opaleye/pull/385/files 但我真的无法理解它?我不确定它是否只实现了占位符,或者它实际上实现了该功能。
首先,如果您回答此类问题,您通常会得到更快,甚至可能更好的回答。 在 Opaleye 存储库上提交新问题。
Opaleye 目前仅支持ON CONFLICT DO NOTHING
. 不过,我很高兴考虑支持更多功能。 请提出新问题或现有的相关问题。