cql3 - 如果 CQL 中不存在,则创建键空间

标签 cql3 cassandra-jdbc

仅当不存在时,我才使用以下 CQL 语法来创建键空间:

CREATE KEYSPACE IF NOT EXISTS Test WITH replication 
                = {'class':'SimpleStrategy', 'replication_factor':1};

但它给出了错误:
Exception in thread "main" com.datastax.driver.core.exceptions.SyntaxError: line 1:23 extraneous input 'EXISTS' expecting '='
at com.datastax.driver.core.exceptions.SyntaxError.copy(SyntaxError.java:35)
at com.datastax.driver.core.DefaultResultSetFuture.extractCauseFromExecutionException(DefaultResultSetFuture.java:256)
at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:172)
at com.datastax.driver.core.SessionManager.execute(SessionManager.java:91)
at com.datastax.driver.core.SessionManager.execute(SessionManager.java:83)

请帮我解决这个问题?语法有什么问题?

最佳答案

这似乎是正确的语法(引用: docs )。我刚刚在 Cassandra 2.0.7 上自己尝试过。

“如果不存在”选项是 CQL3 的一部分,它首先随 Cassandra 1.2 一起提供。我会仔细检查你的 Cassandra 版本,看看这个选项是否可用。

关于cql3 - 如果 CQL 中不存在,则创建键空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22692854/

相关文章:

nosql - Cassandra 时间序列数据模型

java - Spring Data Cassandra - 检索受影响的行

python - 如何使用 Python 的 cqlengine 从 Cassandra 中通过 blob 主键查询行

cassandra - CQL3现在是否需要Cassandra的架构?

hadoop - 处理消息时发生 Thrift 传输错误

Cassandra 批量大小

python - 是否可以获取 Cassandra 组合键的所有值?

cassandra - 如何使用 auto_bootstrap 属性高效启动/重启 Cassandra 节点

Cassandra CQL 选择查询不返回以时间戳作为 clusterkey 的记录