4

我正在为我的项目使用 Slick (Scala)。我的问题是如何使用提升的嵌入 API 检索最后插入的 ID。ID 是自动递增的。我已经阅读了文档,但恐怕我理解得不够好。您能否提供有关如何执行此操作的更详细说明和示例代码?

4

1 回答 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 回答