集群键列必须与 CLUSTERING ORDER BY 指令中的列完全匹配
Clustering key columns must exactly match columns in CLUSTERING ORDER BY directive
我正在尝试使用创建查询创建簇列
CREATE TABLE videos_by_tag (
tag text,
video_id uuid,
added_date timestamp,
title text,
PRIMARY KEY ((tag), added_date, video_id)
) WITH CLUSTERING ORDER BY(added_date DESC);
显示以下错误。我在创建 table 时遗漏了什么吗?
InvalidRequest:来自服务器的错误:code=2200 [无效查询] message="Clustering key columns must exactly match columns in CLUSTERING ORDER BY directive"
仅当我包括主键中提到的所有聚类列时它才有效(在本例中为 added_date、video_id)。是否必须按聚类顺序包括主键中的所有列?
CREATE TABLE videos_by_tag (
tag text,
video_id uuid,
added_date timestamp,
title text,
PRIMARY KEY ((tag), added_date, video_id)
) WITH CLUSTERING ORDER BY(added_date DESC,video_id ASC);
我在 mac os
上使用以下版本的 cassandra
[cqlsh 5.0.1 |卡桑德拉 4.0.0.680 | CQL 规范 3.4.5
仅当我包括主键中提到的所有聚类列时它才有效(在本例中为 added_date、video_id)。是否必须按聚类顺序包括主键中的所有列?
这个问题似乎也发布在 https://community.datastax.com/questions/4118/ 上,我在这里重新发布我的答案。
是的,在 DataStax Enterprise 6.8.0 中,必须在 CLUSTERING ORDER BY
指令中指定所有集群列。 CREATE TABLE
的逻辑在 Apache Cassandra 4.0-alpha1 (CASSANDRA-13426) but has been reverted back in C* 4.0-alpha4 (CASSANDRA-15271) 中发生了变化。以前的 [accepted] 行为将包含在 DSE 6.8 的未来版本中。干杯!
我正在尝试使用创建查询创建簇列
CREATE TABLE videos_by_tag (
tag text,
video_id uuid,
added_date timestamp,
title text,
PRIMARY KEY ((tag), added_date, video_id)
) WITH CLUSTERING ORDER BY(added_date DESC);
显示以下错误。我在创建 table 时遗漏了什么吗?
InvalidRequest:来自服务器的错误:code=2200 [无效查询] message="Clustering key columns must exactly match columns in CLUSTERING ORDER BY directive"
仅当我包括主键中提到的所有聚类列时它才有效(在本例中为 added_date、video_id)。是否必须按聚类顺序包括主键中的所有列?
CREATE TABLE videos_by_tag (
tag text,
video_id uuid,
added_date timestamp,
title text,
PRIMARY KEY ((tag), added_date, video_id)
) WITH CLUSTERING ORDER BY(added_date DESC,video_id ASC);
我在 mac os
上使用以下版本的 cassandra[cqlsh 5.0.1 |卡桑德拉 4.0.0.680 | CQL 规范 3.4.5
仅当我包括主键中提到的所有聚类列时它才有效(在本例中为 added_date、video_id)。是否必须按聚类顺序包括主键中的所有列?
这个问题似乎也发布在 https://community.datastax.com/questions/4118/ 上,我在这里重新发布我的答案。
是的,在 DataStax Enterprise 6.8.0 中,必须在 CLUSTERING ORDER BY
指令中指定所有集群列。 CREATE TABLE
的逻辑在 Apache Cassandra 4.0-alpha1 (CASSANDRA-13426) but has been reverted back in C* 4.0-alpha4 (CASSANDRA-15271) 中发生了变化。以前的 [accepted] 行为将包含在 DSE 6.8 的未来版本中。干杯!