Bagaimana untuk mendapatkan cap waktu saat ini dengan CQL saat menggunakan Command Line?

Saya mencoba untuk memasukkan ke saya CQL tabel dari baris perintah. Saya mampu untuk memasukkan segala sesuatu. Tapi saya bertanya-tanya jika saya memiliki kolom timestamp, maka bagaimana saya bisa memasukkan ke kolom timestamp dari command line? Pada dasarnya, saya ingin menyisipkan cap waktu saat ini setiap kali saya memasukkan ke saya CQL meja -

Saat ini, saya hardcoding timestamp setiap kali saya memasukkan ke saya di bawah ini CQL meja -

CREATE TABLE TEST (ID TEXT, NAME TEXT, VALUE TEXT, LAST_MODIFIED_DATE TIMESTAMP, PRIMARY KEY (ID));

INSERT INTO TEST (ID, NAME, VALUE, LAST_MODIFIED_DATE) VALUES ('1', 'elephant',  'SOME_VALUE', 1382655211694);

Apakah ada cara untuk mendapatkan cap waktu saat ini menggunakan beberapa fungsi yang telah ditetapkan dalam CQL sehingga saat memasukkan ke dalam tabel di atas, saya dapat menggunakan metode itu untuk mendapatkan cap waktu saat ini dan kemudian masukkan ke dalam tabel di atas?

Larutan

Anda dapat menggunakan timeuuid fungsi now() dan dateof() (atau versi yang lebih baru dari Cassandra, toTimestamp()), misalnya,

INSERT INTO TEST (ID, NAME, VALUE, LAST_MODIFIED_DATE)
                  VALUES ('2', 'elephant',  'SOME_VALUE', dateof(now()));

Masa sekarang fungsi tidak mengambil argumen dan menghasilkan baru yang unik timeuuid (pada saat mana pernyataan menggunakan dijalankan). The dateOf fungsi mengambil timeuuid argumen dan ekstrak tertanam timestamp. (Diambil dari CQL dokumentasi pada timeuuid fungsi).

Cassandra >= 2.2.0-rc2

dateof() dipensiunkan dalam Cassandra 2.2.0-rc2. Untuk versi yang lebih baru, anda harus mengganti penggunaannya dengan toTimestamp(), sebagai berikut:

INSERT INTO TEST (ID, NAME, VALUE, LAST_MODIFIED_DATE)
                  VALUES ('2', 'elephant',  'SOME_VALUE', toTimestamp(now()));
Komentar (4)

Dalam versi baru dari cassandra bisa pakai toTimestamp(now()), dan perhatikan bahwa fungsi dateof adalah usang.

e.g

insert into dummy(id, name, size, create_date) values (1, 'Eric', 12, toTimestamp(now()));
Komentar (3)