2017-03-05 115 views
0

空,我喜欢这个定义的列:自动时间戳油滑3 - 插入

def lastChecked = column[Timestamp]("LAST_CHECKED", O.Default(new Timestamp(System.currentTimeMillis()))) 

当我在表中插入数据,我忽略了此列。但Slick插入此列作为空值。这可以如何解决?

回答

0

您需要在数据库级别上为字段提供默认值。对于HSQLDB这样定义列:

last_checked TIMESTAMP DEFAULT CURRENT_TIMESTAMP 

在光滑的将有足够的定义与时间戳类型字段:

val lastChecked: Rep[java.sql.Timestamp] = column[java.sql.Timestamp]("last_checked") 

根据光滑documantation 只对DDL语句中使用O.Default

+0

@Xakernfoffe我正在使用HSQLDB,它不支持函数作为列的默认值。所以我想在代码 – user2975535

+0

@ user2975535中使用CURRENT_TIMESTAMP作为TIMESTAMP类型的默认值。 (http://www.hsqldb.org/doc/guide/ch09.html - 创建表格章节) –