如果列值为“无”,则使用 slick 插入默认值

2023-11-23

我的问题很简单。

我有一个专栏seqNum: Double这是NOT NULL DEFAULT 1 in CREATE TABLE声明如下:

CREATE TABLE some_table
(
    ...
    seq_num DECIMAL(18,10) NOT NULL DEFAULT 1,
    ...
);

用户可以输入一个值seqNum或者不是来自 UI。所以接受PLAY形式就像:

case class SomeCaseClass(..., seqNum: Option[Double], ...)
val secForm = Form(mapping(
    ...
    "seqNum" -> optional(of[Double]),
    ...
  )(SomeCaseClass.apply)(SomeCaseClass.unapply))

光滑的表架构和对象如下所示:

case class SomeSection (
   ...
   seqNum: Option[Double],
   ...
)
class SomeSections(tag: Tag) extends Table[SomeSection](tag, "some_table") {
  def * = (
      ...
      seqNum.?,
      ...
    ) <> (SomeSection.tupled, SomeSection.unapply _)

  ...
  def seqNum = column[Double]("seq_num", O.NotNull, O.Default(1))
  ...
}
object SomeSections {

  val someSections = TableQuery[SomeSections]
  val autoInc = someSections returning someSections.map(_.sectionId)

  def insert(s: someSection)(implicit session: Session) = {
     autoInc.insert(s)
  }
}

当我发送时seqNum从用户界面来看,一切正常,但是当None在那里,它打破了这样的说法不能在 NOT NULL 列中插入 NULL哪个是对的。这个问题解释了原因。

但是如何使用来解决这个问题slick?不明白我应该在哪里检查None?我正在创建并发送一个对象SomeSection to insert的方法SomeSections Object.

我正在使用 sql-server,如果有的话。


使用默认值不需要插入任何值,而是插入 NULL。这意味着您将需要插入一个自定义投影。

people.map(_.name).insert("Chris")将为所有其他字段使用默认值。 Scala 的本机元组转换和案例类转换的局限性可能会让这有点麻烦。像 Slick 的 HLists、Shapeless、Scala Records 或 Scala XR 这样的东西可以提供帮助,但目前还不是微不足道的或非常实验性的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果列值为“无”,则使用 slick 插入默认值 的相关文章

随机推荐

  • 嵌套查询与连接

    如果我使用谁会更有效率nestted subquery JOINs或者可能temp tables 另一个问题 在子查询中 如果我对同一查询使用 IN 子句两次 它也应该执行两次 像这样 Select From X Where Exists
  • 如何转义 Hibernate HQL 中的保留字

    我使用以下查询来获取java util Map带索引id text and object Query q mySession createQuery SELECT u id AS id u name AS text u AS object
  • C++ 中的迭代器类别如何工作?

    我试图理解迭代器的实现 在研究源代码时 我看到了这样的语句 typedef output iterator tag iterator category 我不明白这个 typedef 在类中如何工作 它有什么副作用 有人可以引导我完成这个吗
  • 如何将 Pandas 数据框中的多个列值连接到单个列中

    这个问题与此贴早些时候 我想连接三列而不是连接两列 这是组合两列 df DataFrame foo a b c bar 1 2 3 new apple banana pear df combined df apply lambda x s
  • Python 中的半正矢公式(两个 GPS 点之间的方位角和距离)

    Problem 我想知道如何获取两个 GPS 点之间的距离和方位 我已经研究过半正矢距离 有人告诉我 我也可以使用相同的数据找到轴承 一切工作正常 但轴承尚未完全正常工作 轴承输出负值 但应在 0 360 度之间 设定的数据应使水平方位96
  • 将依赖项注入 IErrorHandler 实现

    我正在实施IErrorHandler为了将我的 WCF 服务的所有错误处理集中在一处 这工作得相当好 public class ServiceErrorHandler IErrorHandler public bool HandleErro
  • 如何修复损坏的表

    我有mysql表称为Sample 我已经编辑了文件 var lib mysql Sample MYI具有一些价值观 现在检查表示例查询显示为 表 Sample 的密钥文件不正确 尝试修复它 为了修复这个问题 我尝试使用以下命令myisamc
  • 如何使用 lxml 更新 XML 文件

    我想使用 lxml 库用新信息更新 xml 文件 例如 我有这样的代码 gt gt gt from lxml import etree gt gt gt gt gt gt tree etree parse books xml 其中 book
  • UIDocumentInteractionController 打开菜单取消回调

    我目前正在开发一个专门针对 iOS7 的应用程序 该应用程序利用在菜单中打开的 UIDocumentInteractionController 并需要一种方法来在用户取消且未选择可用选项时通知我 UIDocumentInteractionC
  • 如何为所有提交移动 Git 存储库中的目录?

    假设我有一个包含以下目录结构的存储库 repo blog posts some post html another file txt 我想搬家 posts到存储库的顶层 因此结构将如下所示 repo posts some post html
  • 具有自定义基础集合的 Linq

    我经常发现 linq 在使用自定义集合对象时存在问题 他们经常被辩解为 基础集合 abstract class BaseCollection
  • 什么时候const被认为是真正的const?

    在阅读 stackoverflow 中的一些问题和答案时 我遇到了这个question 我试图理解它 但答案真的很难理解 尤其是像这样的术语 静态存储时间 在翻译阶段无法评估表达式 etc 此外 我认为常数始终是常数 这是我在学校学到的 请
  • 在 CMakeLists.txt 中,我如何判断它是否与 add_subdirectory() 一起使用? [复制]

    这个问题在这里已经有答案了 我有这个代码项目可以独立构建 也可以作为较大存储库的子项目 将其检查为子存储库 在后一种情况下 我有一个顶级CMakeLists txt对于主要项目有 add subdirectory MY SUBPROJ SU
  • AngularJS 在按钮单击时显示预先输入

    我在 AngularJS 中使用 typeahead 指令 它工作得很好 但是 我希望在输入之外有一个按钮 单击该按钮会显示预输入下拉列表 这是我所追求的一个片段 li class input li
  • Visual Studio 2010:报表定义无效。详细信息:报告定义的目标无效

    回复 报告定义无效 详细信息 报告定义具有无效的目标命名空间 http schemas microsoft com sqlserver reporting 2008 01 reportdefinition 无法升级 需要报告专家 请继续 这
  • 在 python 中使用 pickle 和 for 循环从文件中读取

    我有一个文件 其中转储了大量列表 现在我想将此文件加载到内存中并使用其中的数据 我尝试使用 pickle 的 load 方法加载我的文件 但是 由于某种原因 它只给了我文件中的第一项 实际上我注意到它只将我的第一个列表加载到内存中 如果我想
  • 使用 RVM 安装 ruby​​-2.X 时遇到的问题

    我最近遇到了 ruby 2 0 0 p0 安装 成功安装 rvm 后 我在 bash 中键入以下命令 rvm install ruby 2 0 0 p0 这是结果日志 Searching for binary rubies this mig
  • 使用 MVC 将数据放入部分视图或布局中

    我想在布局和 或部分视图中显示有关登录用户的信息 用户名 公司名称 通知数量等 这些在每个页面上都很常见 是否有一个技巧可以将这些数据提供给他们 或者是否可以扩展每个模型以在其中包含这些信息 我建议您可以选择子操作并从布局中调用它 通过这种
  • 生成均匀随机排列

    我不确定以下伪代码是否可以生成uniformly random permutation PERMUTATE A n A length for i 1 to n swap A i and A random 1 n 好像是对的 但是谁能给我一个
  • 如果列值为“无”,则使用 slick 插入默认值

    我的问题很简单 我有一个专栏seqNum Double这是NOT NULL DEFAULT 1 in CREATE TABLE声明如下 CREATE TABLE some table seq num DECIMAL 18 10 NOT NU