Кассандра: отсутствует ‘)’ в ‘

#cassandra #cql #cqlsh #scylla

Вопрос:

попытался создать следующую таблицу:

     CREATE TABLE customTableSchema(
        id UUID PRIMARY KEY,
        table_id UUID,
        schema text,
        created_at timestamp,
        last_modified_at timestamp,
    );
 

придумал эту ошибку:

 SyntaxException: line 4:8 missing ')' at '<missing '
 

Комментарии:

1. Вы пробовали убрать последнюю запятую? «отметка времени last_modified_at»,

2. да, я сделал…все та же ошибка 🙁

3. проблема заключается в схеме поля — если вы измените ее на что-то другое и удалите комментарий к последнему полю, он будет работать

4. это сработало, когда я удалил схему полей. Но почему это вызывает ошибку? это из-за конфликта с чем-то? @Шломиливне

Ответ №1:

Ключевое слово schema зарезервировано в языке запросов Cassandra, поэтому вы не можете его использовать (см. Эту таблицу в документах).

Ответ №2:

Поскольку «схема» является ключевым словом reserverd, вы не можете использовать свой запрос в текущей форме. Если вы намерены использовать его, вы можете сделать это, как показано ниже

 CREATE TABLE customTableSchema(
        id UUID PRIMARY KEY,
        table_id UUID,
        "schema" text,
        created_at timestamp,
        last_modified_at timestamp,
    );
 

Вы можете обратиться к этой странице для поиска зарезервированных ключевых слов cql.