2017-03-05 24 views
0

にnullを私はこのような列を定義した:自動タイムスタンプ - 挿入

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

そして、私は、テーブルにデータを挿入するとき、私はこのコラムを省略しています。しかし、Slickはこの列をヌル値として挿入します。どのようにこれを修正することができますか?

答えて

0

DBレベルのフィールドにはデフォルト値を指定する必要があります。 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でこれを行うには、TIMESTAMP型のデフォルト値としてCURRENT_TIMESTAMPを使用します。 (http://www.hsqldb.org/doc/guide/ch09.html - テーブルの章を作成する) –

関連する問題