卡桑德拉主键列"user"不能被限制,因为前面的列"eventtype"不受限制



我开发的表格低于 1

create table userevent(id uuid,eventtype text,sourceip text,user text,sessionid text,roleid int,menu text,action text,log text,date timestamp,PRIMARY KEY (id,eventtype,user));
id                                   | eventtype | user    | action | date                     | log      | menu      | roleid | sessionid | sourceip
--------------------------------------+-----------+---------+--------+--------------------------+----------+-----------+--------+-----------+--------------
b15c6780-d69e-11e8-bb9a-59dfa00365c6 |  DemoType |    Aqib |  Login | 2018-10-01 04:05:00+0000 |  demolog |  demomenu |      1 |    Demo_1 | 121.11.11.12
95df3410-d69e-11e8-bb9a-59dfa00365c6 |  DemoType |    Aqib |  Login | 2018-09-30 22:35:00+0000 |  demolog |  demomenu |      1 |    Demo_1 | 121.11.11.12
575b05c0-d69e-11e8-bb9a-59dfa00365c6 |  DemoType |    Aqib |  Login | 2018-10-01 04:05:00+0000 |  demolog |  demomenu |      1 |    Demo_1 | 121.11.11.12
e6cbc190-d69e-11e8-bb9a-59dfa00365c6 | DemoType3 |   Jasim |  Login | 2018-05-31 22:35:00+0000 | demolog3 | demomenu3 |      3 |    Demo_3 | 121.11.11.12
d66992a0-d69e-11e8-bb9a-59dfa00365c6 |  DemoType | Shafeer |  Login | 2018-07-31 22:35:00+0000 |  demolog |  demomenu |      2 |    Demo_2 | 121.11.11.12

但是当我像下面这样询问时,

select * from userevent where user='Aqib'; 

它显示了这样的东西:InvalidRequest: Error from server: code=2200 [Invalid query] message="PRIMARY KEY column "user" cannot be restricted as preceding column "eventtype" is not restricted"

错误是什么...

您需要阅读有关Cassandra的数据建模的信息,或者例如参加DataStax学院的DS220课程。每一行都有主键,其中包括定义数据所在的节点的分区键和定义分区内放置的群集键。 在您的情况下,您的主键至少包含id, eventtype, user. 要对用户设置条件,您需要同时指定ideventtype

您可以添加索引或实例化视图以仅通过user访问,但我建议首先更多地了解数据建模 - 定义查询,然后构建有关需要执行的查询的表结构。

相关内容

最新更新