Cassandra:尝试创建简单 table 时在“)”处缺少 EOF

Cassandra : missing EOF at ')' when trying to create simple table

我正在尝试使用 cqlsh 在 Cassandra 上创建一个简单的 table。语法是:


    创建 TABLE 测试(
        时间戳时间戳,
        system_id 文字,
        主机名文本,
        cpu_pct浮动,
        memory_used 大整数,
        PRIMARY_KEY(system_id, 时间戳)
    );

当我 运行 这样做时,我得到了这个错误。如何修复?


    ErrorMessage code=2000 [CQL 查询语法错误] message="line 8:0 missing EOF at ')' (...,PRIMARY_KEY(system_id, timestamp)[)];)"

PRIMARY_KEY() 应该是 PRIMARY KEY()

CREATE TABLE TEST(
        timestamp timestamp,
        system_id text,
        hostname text,
        cpu_pct float,
        memory_used bigint,
        PRIMARY KEY(system_id, timestamp)
    );

See CQL CREATE TABLE Doc

您不小心在 "PRIMARY KEY" 而不是 space 之间添加了下划线。

此外,您可能不想要一个名为 "timestamp" 的字段,因为它也是 Cassandra 类型,因此可以将其称为 "ts" 或其他名称。