我尝试使用有效的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列。
答案 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, 卡罗