【问题标题】:mismatched input ')' expecting EOF in CQL不匹配的输入 ')' 在 CQL 中期望 EOF
【发布时间】:2013-10-04 16:12:45
【问题描述】:

已创建键空间并使用 CQL 但出现错误

CREATE KEYSPACE demodb
           WITH strategy_class = 'org.apache.cassandra.locator.SimpleStrategy'
  ...          AND strategy_options:replication_factor='1';

cqlsh:demodb> CREATE TABLE users (
      ...                 user_name varchar,
      ...                 password varchar,
      ...                 gender varchar,
      ...                 session_token varchar,
      ...                 state varchar,
      ...                 birth_year bigint,
      ...                 PRIMARY KEY (user_name)
      ...               );
Bad Request: line 1:163 mismatched input ')' expecting EOF

为什么会出现这个错误,求帮助,谢谢。

【问题讨论】:

  • 它在 1.2.10 上适用于我。你有哪个 Cassandra 版本?
  • 在 ubuntu-13.04 中安装了 dsc=1.0.10 cassandra=1.0.10

标签: cassandra cql cql3 cassandra-cli


【解决方案1】:

Cassandra 1.0 具有 CQL2,您的语句仅在 CQL3 中有效。您应该升级到 1.2.10 或 2.0.1,因为 1.0 已经很旧并且 CQL2 已被弃用。

【讨论】:

  • 我是否也必须升级 dsc 以及升级到哪个版本?非常感谢。
  • DSC 是 Cassandra 的 Datastax 发行版 - 您要么想要这个版本,要么想要 Apache 版本。
  • 我只想要 DSC,因为我在 ubuntu 上运行 CQL谢谢。
【解决方案2】:

有时会因为语法错误而出现错误。检查支架是否正确闭合。尝试将查询存储为字符串并打印出来。如果是对的,那么正如 Richard 所说,你可能是 CQL 的版本有问题。否则只是语法错误,您必须仔细查看。

【讨论】:

    猜你喜欢
    • 2022-06-21
    • 2022-01-05
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 2021-12-10
    相关资源
    最近更新 更多