2017-03-05 85 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 - 創建表格章節) –