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()
}
}
}
更新クエリは、挿入が失敗した場合にのみ実行する必要があります (制約などにより)。他の機能/代替手段はありますか? 助けてください。前もって感謝します。