Slick 3 中的自动时间戳 - 插入时为空
Automatic timestamp in Slick 3 - null on insert
我定义了这样的列:
def lastChecked = column[Timestamp]("LAST_CHECKED", O.Default(new Timestamp(System.currentTimeMillis())))
当我在 table 中插入数据时,我忽略了这一列。但是 Slick 将此列作为空值插入。如何解决?
您需要为数据库级别的字段提供默认值。对于 HSQLDB,以这种方式定义列:
last_checked TIMESTAMP DEFAULT CURRENT_TIMESTAMP
在 slick 中定义时间戳类型的字段就足够了:
val lastChecked: Rep[java.sql.Timestamp] = column[java.sql.Timestamp]("last_checked")
根据精巧的文档 O.Default 仅用于 DDL 语句。
我定义了这样的列:
def lastChecked = column[Timestamp]("LAST_CHECKED", O.Default(new Timestamp(System.currentTimeMillis())))
当我在 table 中插入数据时,我忽略了这一列。但是 Slick 将此列作为空值插入。如何解决?
您需要为数据库级别的字段提供默认值。对于 HSQLDB,以这种方式定义列:
last_checked TIMESTAMP DEFAULT CURRENT_TIMESTAMP
在 slick 中定义时间戳类型的字段就足够了:
val lastChecked: Rep[java.sql.Timestamp] = column[java.sql.Timestamp]("last_checked")
根据精巧的文档 O.Default 仅用于 DDL 语句。