我试图找到一种方法,在主键为自动增量的弹出Table
上执行插入,但强制主键到映射的case类中的值。即给出:
case class Foo(id: Int, name: String)
class FooTable(tag: Tag) extends Table[Foo](tag, "foo") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def name = column[String]("name")
def * = (id, name) <> (Foo.tupled, Foo.unapply)
}
val foos = TableQuery[FooTable]
如果我通过
进行常规插入db.run(foos += Foo(123,"bar"))
它会将id
设置为下一个自动增量值,而不是将其设置为123.是否存在强制id
设置为的语法提供的案例类Foo
中的值?
答案 0 :(得分:3)
结帐forceInsert
插入可能在第一个[...]列中有点令人惊讶 自动增加会自动被忽略,因此插入它们有 没有效果。使用forceInsert允许实际插入 自动增量列。