Я пытался создать таблицу в cql, но застрял со следующей ошибкой, могу ли я узнать, как решить эту проблему - PullRequest
2 голосов
/ 16 апреля 2020
CREATE TABLE sars.test (
    Date date,
    Country text PRIMARY KEY,
    Cumulative number of case(s) int,
    Number of deaths int,
    Number recovered int);

Ошибка была:

SyntaxException: line 1:79 mismatched input 'of' expecting ')'
    (... PRIMARY KEY, Cumulative number [of]...)

1 Ответ

1 голос
/ 16 апреля 2020

Имена столбцов в Кассандре не могут содержать пробелов или паренов. Вы, вероятно, захотите использовать что-то вроде подчеркивания для пробелов и избавиться от скобок. Это работает для меня:

CREATE TABLE sars.test (
    Date date,
    Country text PRIMARY KEY,
    Cumulative_number_of_cases int,
    Number_of_deaths int,
    Number_recovered int);

Кроме того, помните, что ПЕРВИЧНЫЕ КЛЮЧИ в Кассандре уникальны. Я добавляю это примечание, потому что мне интересно, как date будет использоваться здесь. Если вы пытаетесь отслеживать итоговые показатели каждой страны по мере их изменения на date, то вы должны добавить его к своему ПЕРВИЧНОМУ КЛЮЧУ в качестве ключа кластеризации, например:

CREATE TABLE sars.test (
    Date date,
    Country text,
    Cumulative_number_of_cases int,
    Number_of_deaths int,
    Number_recovered int,
    PRIMARY KEY (country,date));
...