gpt4 book ai didi

mysql - 如何在 Slick 中插入具有默认值的字段

转载 作者:行者123 更新时间:2023-11-30 22:19:41 25 4
gpt4 key购买 nike

给定具有默认值的 NOT NULL 字段 str 的映射:

case class Tst(id: Option[Int] = None, ii: Int, str: String)
class Tsts(tag: Tag) extends Table[Tst](tag, "tsts") {
def id = column[Option[Int]]("id", O.PrimaryKey, O.AutoInc)
def ii = column[Int]("ii")
def str = column[String]("str", O.Default("ddd"))
def * = (id, ii, str) <> (Tst.tupled, Tst.unapply)
}

如果我有,如何插入指定字段值的对象:

Tst(ii = 1, str = "aaa")

如果我不这样做就跳过它:

Tst(ii = 1)

是的,我知道最后一条语句不会编译。
我尝试使用 Option[String] 和其他东西。它以插入 null 或因 can't be null 错误而失败

结束

最佳答案

编译器取决于您在末尾放置默认值,例如:

scala> case class TST(ii: Int, str: String = "aaa", id: Option[Int] = None)
defined class TST

scala> new TST(3)
res0: TST = TST(3,aaa,None)

编辑:刚刚意识到我没有完全回答:

scala> new TST(3, id = Some(1))
res1: TST = TST(3,aaa,Some(1))

scala> new TST(3, str = "bbb")
res2: TST = TST(3,bbb,None)

关于mysql - 如何在 Slick 中插入具有默认值的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36992114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com