如果记录存在则替换它,如果没有记录则优雅地失败?

时间:2015-11-28 01:33:16

标签: haskell haskell-persistent

Persistent带有两个批量替换记录的操作:replacerepsert。使用repsert,如果要替换的记录最初不存在,则会将新记录插入到数据库中。使用replace,如果要替换的记录不存在,行为未定义

这两个选项都不足以满足我的用例:如果(并且仅当)该密钥已存在的记录,我想替换记录。我可以检查记录是否存在,并且只有在返回记录时才尝试插入,但这似乎有可能出现竞争条件(尽管这种竞争条件不太可能有害在这种情况下的效果)。

是否有任何功能尝试进行替换并根据成功或失败返回有用的结果?

0 个答案:

没有答案