2014-02-22 55 views
4

我想了解卡桑德拉的DROP TABLE IF EXISTS的語法。如何在Cassandra中使用「DROP TABLE IF EXISTS」?

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 

我在做什麼錯?

回答

4

DROP TABLE IF EXISTS的想法是,您可以避免通過僅在實際創建查詢語句以使其有效時才刪除表來獲取InvalidRequestException「Bad Request:unconfigured columnfamily」。

你所得到的異常,因爲這是一個bug in 2.0.5.已固定的C * 2.0.6,但如果你想第一時間看到DROP TABLE IF EXISTS,嘗試從源代碼下載和構建卡桑德拉:

git clone -b cassandra-2.0 git://git.apache.org/cassandra.git cassandra 
cd cassandra 
ant build 
相關問題