无法使用CQL删除cassandra中的列

Ale*_*exR 3 java cql cassandra

我没有使用CQL删除列.这是我收到的错误消息:

Bad Request: line 1:28 no viable alternative at input 'drop'

这就是我在做的事情.我正在运行cassandra 1.2.6.这是我创建键空间的方式:

CREATE KEYSPACE ex1 WITH replication = {
'class': 'SimpleStrategy',
'replication_factor': '1'
};
Run Code Online (Sandbox Code Playgroud)

然后我切换到刚创建的密钥空间:

use ex1

之后我创建了下表:

create table person ( id varchar, firstName varchar, lastName varchar, primary key (id));
Run Code Online (Sandbox Code Playgroud)

现在我尝试删除一列,如下所示:

cqlsh:ex1> alter table person drop lastName;
Bad Request: line 1:19 no viable alternative at input 'drop'
Run Code Online (Sandbox Code Playgroud)

尝试使用关键字COLUMNFAMILYTABLE不是帮助.

我究竟做错了什么?

Ric*_*ard 5

drop在Cassandra 1.2.x中不起作用..你需要使用至少2.0.0.

在2.0中,当您删除列时,它立即不可用于查询但数据仍然存在.随后的压缩将删除该列,以便最终释放空间.