說我有以下架構卡桑德拉表XYZ:卡桑德拉不支持刪除索引列
create table xyz(
xyzid uuid,
name text,
fileid int,
sid int,
PRIMARY KEY(xyzid));
我創建列索引的fileid,SID:
CREATE INDEX file_index ON xyz (fileid);
CREATE INDEX sid_index ON xyz (sid);
我插入數據:
INSERT INTO xyz (xyzid, name , fileid , sid) VALUES (now(), 'p120' , 1, 100);
INSERT INTO xyz (xyzid, name , fileid , ssid) VALUES (now(), 'p120' , 1, 101);
INSERT INTO xyz (xyzid, name , fileid , sid) VALUES (now(), 'p122' , 2, 101);
我想用索引列刪除數據:
DELETE from xyz WHERE fileid=1 and sid=101;
爲什麼我得到這個錯誤?
InvalidRequest: code=2200 [Invalid query] message="Non PRIMARY KEY fileid found in where clause"
是否必須指定刪除查詢的WHERE子句中的主鍵?
Cassandra是否支持使用二級索引進行刪除?
要使用二級索引刪除數據,需要做些什麼?
任何建議,可以幫助。
我使用的數據斯塔克斯社區卡桑德拉2.1.8,但我也想知道是否使用索引列刪除由數據斯塔克斯社區卡桑德拉3.2.1
感謝
你是否經常只用PRIMARY KEY查詢?如果這些索引對您來說非常重要,爲什麼不創建將這些索引列用作PRIMARY KEY組件的查詢表? – Aaron