这是我的表结构,我使用以下查询更新序列:
Update styles set sequence=1 where styleid = 'CLASSIC';
我收到错误消息
PRIMARY KEY part sequence found in SET part
Missing PRIMARY KEY part sequence
CREATE TABLE styles (
styleid ascii,
sequence int,
active boolean,
image ascii,
name ascii,
PRIMARY KEY (styleid, sequence)
) WITH CLUSTERING ORDER BY (sequence DESC);
请任何人帮我更新群集密钥序列,以便更新。或者任何替代方法请分享。
答案 0 :(得分:1)
根据Cassandra如何存储数据,无法更新群集列(主键)。
Rowkey,它是**styleid** ->[sequence] -> [active boolean,image ascii, name ascii]
为了指向非主要列进行更新/删除,需要通过styleid -> sequence
分区来解析列。
创建的主键无法更改,因为它表示数据在Cassandra中的存储方式。因此,无法在此处更新“序列”。
答案 1 :(得分:-1)
虽然是,但是在Cassandra中无法直接更新群集列,就像所有事情一样,有很多方法可以做你需要做的事情。
您需要创建一个临时表,以您希望的方式表示数据。然后,您将需要删除旧表,然后基于临时表创建一个新表。
我建议: 1)备份你的初始表,因为有机会是你第一次尝试这个,你会错过一些东西。 2)编写程序来进行所需的更改(Javascript程序,Java,无论你喜欢什么)。 3)测试,测试,然后再次测试(首先在本地进行测试,然后升级到集成式环境,最后测试某种预生产环境,这种环境尽可能接近生产环境。< / p>