“DROP TABLE IF EXISTS”在 Cassandra 中是如何工作的?

kno*_*orv 5 cassandra

我试图了解DROP TABLE IF EXISTSCassandra的语法。

DROP TABLE IF EXISTS nonexistanttable; 似乎不起作用:

$ ./cqlsh
Connected to Test Cluster at localhost:9160.
[cqlsh 4.1.1 | Cassandra 2.0.5 | CQL spec 3.1.1 | Thrift protocol 19.39.0]
Use HELP for help.
cqlsh> USE Foo;
cqlsh:foo> DROP TABLE IF EXISTS bar;
Bad Request: unconfigured columnfamily bar
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Lyu*_*rov 4

其想法DROP TABLE IF EXISTS是,仅在实际创建表时才删除表,以便您的查询语句有效,从而避免出现 InvalidRequestException“错误请求:未配置的列族”。

您收到异常是因为这是2.0.5 中的错误。它已针对 C* 2.0.6 进行修复,但如果您想DROP TABLE IF EXISTS立即查看,请尝试从源代码下载并构建 cassandra:

git clone -b cassandra-2.0 git://git.apache.org/cassandra.git cassandra
cd cassandra
ant build
Run Code Online (Sandbox Code Playgroud)