我在 Play 应用程序中使用 Anorm 进行数据库查询。我浏览了一些教程,如果执行成功,SQL(....).execute()
则会返回。Boolean
我测试了该方法,但它总是返回false
(不知道它何时返回 true:/ )。我也试过SQL(...).executeInsert()
,但表中没有任何“自动增量”列,所以问题仍然存在。如果有人有任何解决方案('.execute()' 方法的任何扩展版本或其他),请帮助我。
这是我的代码的一部分,由于意外返回而失败...
def addSuggestion(sessionId: BigInteger, suggestionId: BigInteger) = {
DB.withConnection { implicit c =>
if (!SQL("insert into user_suggestion_" + sessionId + " values (" + suggestionId + ",1,0,0)").execute()) {
SQL("update user_suggestion_" + sessionId + " set count=(count+1) where user_id=" + suggestionId).executeUpdate()
}
}
}
更新查询应该只在插入失败时运行(由于任何约束等)。还有其他功能/替代方案吗?请帮忙。提前致谢。