![](/img/trans.png)
[英]com.datastax.driver.core.exceptions.InvalidQueryException: Invalid operator IN for PRIMARY KEY part
[英]com.datastax.driver.core.exceptions.InvalidQueryException: PRIMARY KEY part sequence found in SET part
我正在尝试更新表,然后我得到这个例外:
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);
虽然拥有完整的查询会有所帮助,但我可以从错误消息中判断出您正在尝试UPDATE
行的PRIMARY KEY
。 从UPDATE命令的DataStax文档 :
The UPDATE SET operation is not valid on a primary key field.
这就是您收到此特定错误消息的原因。 如果您插入了包含需要更新的主键部分的行,则必须删除该行并重新插入。
Cassandra不允许您更新主键。 你不能做下面的事情,因为SEQUENCE是主键的一部分。
UPDATE STYLINGBEE.LKPSTYLES SET SEQUENCE = 1 WHERE STYLEID = 1000;
看起来您正在尝试更新某些行而不在查询中指定STYLEID(WHERE部分)。 你能发布你的CQL语句吗? 我认为这一个链接可以帮助您: 为什么我的Cassandra更新不起作用?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.