Я пытаюсь вставить в мою таблицу CQL из командной строки. Я могу вставить все. Но мне интересно, если у меня есть столбец типа timestamp, то как я могу вставить в столбец timestamp с помощью командной строки? В принципе, я хочу, чтобы вставить текущую метку времени, когда я вставить в мой стол CQL -
В настоящее время я прописать метку всякий раз, когда я вставить в мой ниже таблице CQL -
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);
Есть ли способ, чтобы получить текущую метку времени, используя некоторые предопределенные функции в CQL, так что при вставке в таблицу выше, я могу использовать этот метод, чтобы получить текущую метку времени, а затем вставить в вышеприведенной таблице?
Вы можете использовать функции timeuuid, теперь()
и дату()
(или в более поздних версиях Кассандра, toTimestamp()
), например,
INSERT INTO TEST (ID, NAME, VALUE, LAST_MODIFIED_DATE)
VALUES ('2', 'elephant', 'SOME_VALUE', dateof(now()));
"Сейчас" функция не принимает никаких аргументов и создает новую уникальную timeuuid (в том времени, когда заявление, используя его исполнения). Функция дату
принимает аргумент timeuuid и извлекает внедренные метки. (Взято из документации CQL на функции timeuuid).
дату () был устаревшим в Кассандра 2.2.0-RC2 в. Для более поздних версий, вы должны заменить его использовать с toTimestamp()
, как показано ниже:
INSERT INTO TEST (ID, NAME, VALUE, LAST_MODIFIED_DATE)
VALUES ('2', 'elephant', 'SOME_VALUE', toTimestamp(now()));
В новой версии Кассандра
можно использовать toTimestamp(сейчас())
, и обратите внимание на дату, что функция является устаревший.
е.г
insert into dummy(id, name, size, create_date) values (1, 'Eric', 12, toTimestamp(now()));