带有timeuuid列的Cassandra CQL ALTER表

时间:2014-07-26 08:00:39

标签: cql3 cassandra-2.0

我尝试使用有效的timeuuid列名称ALTER TABLE -

cqlsh:dbase> ALTER TABLE jdata ADD 4f8eca60-1498-11e4-b6e6-ed7706c00c12 timeuuid;
Bad Request: line 1:24 no viable alternative at input '4f8eca60-1498-11e4-b6e6-ed7706c00c12'

所以,我接下来尝试使用引号并且它有效 -

cqlsh:dbase> ALTER TABLE jdata ADD "4f8eca60-1498-11e4-b6e6-ed7706c00c12" timeuuid;
cqlsh:dbase> 

但表格描述现在看起来很丑,列名用引号 -

cqlsh:dbase> describe columnfamily jdata;

CREATE TABLE jdata (
  abc text,
  "4f8eca60-1498-11e4-b6e6-ed7706c00c12" timeuuid,
  xyz text,
  PRIMARY KEY ((abc), xyz)
) WITH
  bloom_filter_fp_chance=0.010000 AND
  blah blah;

所以我需要帮助使用ALTER命令来使用没有引号的CQL创建timeuuid列。

1 个答案:

答案 0 :(得分:0)

根据定义,列的名称是String。 因此,您不能将任何与String不同的内容作为列名。

create table invalidnames (2 text primary key, 5 int);
**Bad Request**: line 1:47 mismatched input '5' expecting ')'

使用字符串工作

create table validnames (two text primary key, five int);

列的名称和列的类型无论如何都不相关

HTH, 卡罗