小编Eri*_*ode的帖子

Play Slick 2.1.0此DBMS仅允许从INSERT返回单个AutoInc列

在下面的代码中,我可以很好地插入我的记录.但我真的想要取回插入值的ID,以便我可以将对象作为响应的一部分返回.

def postEntry = DBAction { request =>
  request.body.asJson.map {json =>
    json.validate[(String, Long, String)].map {
      case (name, age, lang) => {
        implicit val session = request.dbSession
        val something = Entries += Entry(None, name, age, lang)
        Ok("Hello!!!: " + something)
      }
    }.recoverTotal {
    e => BadRequest("Detected error: " + JsError.toFlatJson(e))
    }
   }.getOrElse {
   BadRequest("Expecting Json data")
  }
}
Run Code Online (Sandbox Code Playgroud)

所以我尝试将插入更改为:

 val something = (Entries returning Entries.map(_.id)) += Entry(None, name, age, lang)
Run Code Online (Sandbox Code Playgroud)

但我得到以下异常:

SlickException: This DBMS allows only a single AutoInc column to …
Run Code Online (Sandbox Code Playgroud)

scala playframework-2.0 slick-2.0

7
推荐指数
1
解决办法
2396
查看次数

标签 统计

playframework-2.0 ×1

scala ×1

slick-2.0 ×1