在cqlsh中我想创建1个超级列address
。然后在地址下方,我想要创建2个子列permanent
和temporary address
。
我怎样才能使用cql shell?
答案 0 :(得分:1)
超级专栏已过时。尽量确保您阅读的任何文档,书籍或博客都是最近的。
答案 1 :(得分:1)
phact是对的,你会想要与任何谈论超级列的事物保持距离。使用cql(来自cqlsh内部)解决此问题的方法是将地址创建为用户定义的类型:
CREATE TYPE address (
street text,
city text,
postal text,
country text
);
然后,您可以构建一个表来实现地址类型的MAP。
CREATE TABLE users (
login text PRIMARY KEY,
first_name text,
last_name text,
addresses map<text, frozen <address>>
);
要从cqlsh插入值,您可以使用以下内容:
INSERT INTO users (login,first_name,last_name,addresses)
VALUES ('jones','Theora','Jones',{'work':{street:'101 Big Network Drive',city:'New York', postal:'10023',country:'USA'},
'home':{street:'821 Wembley St.',city:'London',postal:'W11 2BQ',country:'GBR'}});