e90*_*mmy 16 cql cassandra cql3
我正在尝试创建一个20,000多列的WIDE列表
最初我以为我会用:
CREATE TABLE details (
key TEXT,
detail map<TEXT, TEXT>
PRIMARY KEY (KEY)
);
Run Code Online (Sandbox Code Playgroud)
插入此表工作正常
UPDATE details SET detail = detail + { 'col1': '12'} where key='123' ;
UPDATE details SET detail = detail + { 'col20000': 'ABCD'} where key='123' ;
Run Code Online (Sandbox Code Playgroud)
但是,我想阅读一个单独的细节:
select detail[col1] where key='123'
Run Code Online (Sandbox Code Playgroud)
执行此查询时,我收到以下错误:
no viable alternative at input '['
Run Code Online (Sandbox Code Playgroud)
这会起作用吗,还是我需要一种不同的方法?
jbe*_*lis 15
集合是您一次获取所有数据的小组.
如果你想更精细地访问元组,并且仍然可以询问"给定密钥的所有数据对是什么",你应该使用这样的表:
CREATE TABLE details (
key TEXT,
detail_key text,
detail_value text,
PRIMARY KEY (key, detail_key)
);
Run Code Online (Sandbox Code Playgroud)
这将允许SELECT * FROM details WHERE key = ?以及SELECT * FROM detail WHERE key = ? AND detail_key = ?.
| 归档时间: |
|
| 查看次数: |
15453 次 |
| 最近记录: |