首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Squeryl:如果不存在则插入?

Squeryl:如果不存在则插入?
EN

Stack Overflow用户
提问于 2013-04-25 12:04:20
回答 2查看 690关注 0票数 0

如果一个条目还不存在,我如何使用Squeryl进行插入?

如果在已存在的元组上执行insert语句,我试图捕获PSQLException,但它不起作用( PSQLException未捕获)。事实上,最好告诉Squeryl不要插入已经存在的元组。这就是我正在寻找的。

EN

回答 2

Stack Overflow用户

发布于 2013-04-25 19:30:35

不幸的是,如果您正在使用Postgres,如果发生异常,您将无法继续处理。这里有一个很好的讨论:https://groups.google.com/forum/?fromgroups=#!topic/squeryl/zaflXRra0qg

要执行所需操作,您可能需要首先发出select命令,以查找已经存在的ids,并将其从要插入的项中删除。

票数 2
EN

Stack Overflow用户

发布于 2013-04-25 18:23:52

你不希望相同的元组存在于数据库中,或者仅仅是那个squeryl不会插入它们?

在第一种情况下,只需在该元组上添加一个唯一的约束。示例:

代码语言:javascript
复制
on(myTable)(e => declare(
    columns(e.name, e.year) are (indexed("myIndex"), unique)
))

这段代码放在像val myTable = table[MyTable]这样的表定义旁边。我还在这个元组上添加了一个索引,如果您愿意,您可以删除此代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16206180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档