0
def insert(u: User): Future[User] = {
val insertQuery = users returning users.map(_.id) into ((user, id) => user.copy(id = id))
val action = insertQuery += u
db.run(action)
}
case class User(id: Int, name: String, ..)
當我把這種方法與像用戶插入:嘗試使用油滑與新生成的ID從數據庫
User(0, "john", ..)
我得到的錯誤:
Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "users_pmkey"
似乎試圖插入0作爲PK。在我的DAO我設置列有:
def id = column[Int]("id", O.PrimaryKey)
我基本上是試圖做兩件事情:
- 插入用戶
- 回報與PostgreSQL的新生成的ID的用戶。
我在做什麼錯?