Не удается добавить значение даты и времени в БД Cassandra?Неверная синтаксическая ошибка? - PullRequest
0 голосов
/ 16 октября 2018

Проблема:

В настоящее время я пытаюсь вставить объект даты и времени в свою базу данных Cassandra, используя следующий код:

dt_str = '2016-09-01 12:00:00.00000'
dt_thing = datetime.datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S.%f')

def insert_record(session):
    session.execute(
        """
        INSERT INTO record_table (last_modified)
        VALUES(dt_thing)
        """
        )

Однако я получаю следующую ошибку:

cassandra.protocol.SyntaxException: <Error from server: code=2000 [Syntax error in CQL query] message="line 3:17 no viable alternative at input ')' (...record_table (last_modified)        VALUES([dt_thing])...)">

Справочная информация

Я относительно новичок в Кассандре и не знаю, как это сделать.То, что я в основном пытаюсь сделать, это добавить существующее значение даты и времени в мою базу данных, так как более ранняя версия кода ищет его, но он еще не существует (поэтому я и добавляю его вручную).

Я использую Python 2.7 и Cassandra 3.0.

Любой ввод или как это сделать будет замечательно!

1 Ответ

0 голосов
/ 16 октября 2018

Я ответил на аналогичный вопрос вчера .Но общая идея заключается в том, что вы захотите определить подготовленное утверждение.Затем привяжите к ней свою переменную dt_thing, например:

dt_str = '2016-09-01 12:00:00.00000'
dt_thing = datetime.datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S.%f')

def insert_record(session):
    preparedInsert = session.prepare(
        """
        INSERT INTO record_table (last_modified)
        VALUES (?)
        """
        )
    session.execute(preparedInsert,[dt_thing])

Кроме того, я не рекомендую использовать временную метку в качестве одиночного PRIMARY KEY (единственной модели, для которой будет работать эта INSERT).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...