我正在为我的项目使用 Slick (Scala)。我的问题是如何使用提升的嵌入 API 检索最后插入的 ID。ID 是自动递增的。我已经阅读了文档,但恐怕我理解得不够好。您能否提供有关如何执行此操作的更详细说明和示例代码?
user1980875
问问题
1718 次
1 回答
4
如Slick 文档中所述,您可以使用该returning <Table>.id
变体。
假设你有一只猫以一种巧妙的方式定义:
case class Cat(id: Option[Int], name: String)
object Cats extends Table[Cat]("cats") {
def id = column[Int]("cat_id", O.PrimaryKey, O.AutoInc)
def name = column[String]("name")
def * = id.? ~ name <> (Cat.apply _, Cat.unapply _)
}
id
然后,您可以在插入新猫的那一刻收到新创建的。
val newCatId =
Cats returning Cats.id insert Cat(None, "Cringer")
希望有帮助;)
于 2013-09-09T11:31:23.740 回答