Nic*_*yan 4 scala quill quill.io doobie
我想使用此查询选择最大值(表中的所有字段都不为空):
dc.run(quote {
query[SchemaInfo]
.filter(_.subjectName == lift(subject))
.map(_.version)
.max
}).map(_.map(_ + 1).getOrElse(1))
Run Code Online (Sandbox Code Playgroud)
我知道,该表可能是空的,所以我使用这个:map(_.map(_ + 1).getOrElse(1))。
问题是此查询会产生以下错误:
SQL
NULL在第 1 列读取(JDBC 类型为 null),但映射到非选项类型;在这里使用选项。请注意,JDBC 列索引是从 1 开始的。doobie.util.invariant$NonNullableColumnRead:在第 1 列读取 SQLNULL(JDBC 类型为 null),但映射到非选项类型;在这里使用选项。请注意,JDBC 列索引是从 1 开始的。
如何修复它?没有鹅毛笔(使用纯 doobie)相同的查询可以正常工作
我知道您可能已经得到了答案,但我会在这里留下我的评论,希望它能帮助将来的人。
所以问题是一致的
query[SchemaInfo]
,因为记录可能不存在,应该将其映射到
query[Option[SchemaInfo]].unique
| 归档时间: |
|
| 查看次数: |
1492 次 |
| 最近记录: |