CassandraのCQL(コマンドライン上)でタイムスタンプを自動生成する方法をまとめます。

MySQLでいうところのDEFAULT CURRENT_TIMESTAMPのような機能になります。

 

1.タイムスタンプ型のカラムを用意する

当然ですが、タイムスタンプを格納するカラムはタイムスタンプ型でなければなりません。

このようにテーブルにタイムスタンプのカラムを用意します。

 

2. INSERT文にtoTimestampメソッドを使う

タイムスタンプを自動入力するにはtoTimestampメソッドを使います。

このようにtimestamp型のカラムに対して、toTimestampメソッドを入れ込みます。

toTimestampメソッドの引数にはnowメソッドを入れます。これで、INSERTが実行された時間がタイムスタンプとして保存されることになります。

nowメソッドは引数をもたずに働いてくれるので何も入れる必要はありません。

 

3.INSERTを実行して自動更新をする

あとはこのINSERT文を入力するだけです。

コマンドライン上でタイムを自動更新してくれます。

 

注意:Cassandraが2.2.0以下の場合

上記の方法はCassandraのバージョンが2.2.0の場合に有効です。

稀だとは思いますが2.2.0以下の場合での方法を紹介します。

 

INSERT文にdateOfメソッドを使用する

INSERT時にdateOfメソッドを使用します。