我正在使用Slick(Scala)来完成我的项目。我的问题是如何使用提升的嵌入API检索最后插入的ID。 ID自动递增。我已经阅读了文档,但我恐怕不太了解它。您能否提供有关如何执行此操作的更详细说明和示例代码?
答案 0 :(得分:4)
如the Slick documentation中所述,您可以使用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")
希望有所帮助;)