cassandra表中的列是否可以更改为静态?

cassandra表中的列是否可以更改为静态?,cassandra,cql,Cassandra,Cql,我在cassandra数据库中有一个表,其中有几个静态列,我希望向其中添加另一个静态列。有没有办法改变表,使新列是静态的?假设您的键空间是key,表模式是: CREATE TABLE p ( k text, s text STATIC, i int, PRIMARY KEY (k, i) ); 然后你就可以执行了 ALTER TABLE p ADD f text STATIC; 正如威尔的回答所指出的,这可能取决于您使用的

我在cassandra数据库中有一个表,其中有几个静态列,我希望向其中添加另一个静态列。有没有办法改变表,使新列是静态的?

假设您的键空间是
key
,表模式是:

 CREATE TABLE p (   
     k text,   
     s text STATIC,   
     i int,   
     PRIMARY KEY (k, i) ); 
然后你就可以执行了

 ALTER TABLE p ADD f text STATIC;

正如威尔的回答所指出的,这可能取决于您使用的版本。CQL 3.1(Cassandra 2.0和2.1)的标准说明:

不允许在表格中添加以下内容:

  • 添加与现有列同名的列
  • 静态列
虽然很明显它适用于2.1.9

同样需要注意的是,不能将现有列更改为静态列

aploetz@cqlsh:stackoverflow> ALTER TABLE bills2 ALTER amount TYPE bigint static;
SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query] message="line 1:44 missing EOF at 'static' (...bills2 ALTER amount TYPE bigint [static];)">
aploetz@cqlsh:stackoverflow>ALTER TABLE BILS2 ALTER amount TYPE bigint static;
句法异常: