我正在尝试更新表格,然后我得到了这个例外:
com.datastax.driver.core.exceptions.InvalidQueryException:在SET部分中找到的PRIMARY KEY部分序列。
我的表结构是
CREATE TABLE IF NOT EXISTS STYLINGBEE.LKPSTYLES(
STYLEID ASCII,
NAME ASCII,
IMAGE ASCII,
SEQUENCE INT,
ACTIVE BOOLEAN,
PRIMARY KEY (STYLEID,SEQUENCE)
)WITH CLUSTERING ORDER BY (SEQUENCE DESC);
答案 0 :(得分:7)
虽然完整查询会有所帮助,但我可以从错误消息中判断您正在尝试UPDATE
行PRIMARY KEY
。来自DataStax documentation on the UPDATE command:
The UPDATE SET operation is not valid on a primary key field.
这就是您收到此特定错误消息的原因。如果您插入了包含需要更新的主键部分的行,则必须删除该行并重新插入。
答案 1 :(得分:3)
Cassandra不允许您更新主键。 你不能做类似下面的事情,因为SEQUENCE是主键的一部分。
UPDATE STYLINGBEE.LKPSTYLES SET SEQUENCE = 1 WHERE STYLEID = 1000;
答案 2 :(得分:1)
看起来您正在尝试更新某些行而不在查询中指定STYLEID(WHERE部分)。你能发布你的CQL语句吗? 我认为这一个链接可以帮助您:Why doesn't my Cassandra update work?