2017-10-04 97 views
0

我是斯卡拉和斯利克新手。我有一個正確的方法如何檢查DB(postgresql)中項目的存在的問題。所以,我需要實現插入,如果存在和更新方法。我已經做了一些更新,但它不能正常工作,並且發生錯誤。我們如何檢查postgresql scala中元素的存在性?

ERROR: duplicate key value violates unique constraint 
"IDX_COMPETENCE_SID_UID"_ Detail: Key ("SKILL_ID", "USER_ID")=(2, 
20198) already exists. [Sanitized] 
def update(skillRow: SkillWithVisibility): DBIO[Int] = { 
//TODO skill existence check? 
selectByIdForUpdateQ(skillRow.id, skillRow.companyId) update skillRow } 

什麼是修改此方法來檢查技能是否存在,如果存在更新的最佳方式?

+0

Slick公開'insertOrUpdate'(aka [upserting](http://slick.lightbend.com/doc/3.1.0/queries.html#upserting))。 –

回答

0

如果需要,您可以使用insertOrUpdate或自己寫。你可以在這裏閱讀關於它的文章underscore blog post

相關問題