Я использую Cassandra в первый раз в веб-приложении, и у меня возникла проблема с запросом. Вот моя вкладка:
CREATE TABLE vote (
doodle_id uuid,
user_id uuid,
schedule_id uuid,
vote int,
PRIMARY KEY ((doodle_id), user_id, schedule_id)
);
При каждом запросе я указываю свой ключ раздела, doodle_id. Например, я могу сделать без проблем:
select * from vote where doodle_id = c4778a27-f2ca-4c96-8669-15dcbd5d34a7 and user_id = 97a7378a-e1bb-4586-ada1-177016405142;
Но по последней просьбе я сделал:
select * from vote where doodle_id = c4778a27-f2ca-4c96-8669-15dcbd5d34a7 and schedule_id = c37df0ad-f61d-463e-bdcc-a97586bea633;
Я получил следующую ошибку:
Bad Request: PRIMARY KEY column "schedule_id" cannot be restricted (preceding column "user_id" is either not restricted or by a non-EQ relation)
Я новичок в Cassandra, но исправьте меня, если я ошибаюсь, в составном первичном ключе, первая часть - это ключ PARTITION KEY, который является обязательным, чтобы позволить Cassandra знать, где искать данные. Затем остальные части - КЛАСТЕРИНГ КЛЮЧ для сортировки данных.
Но я все еще не понимаю, почему мой первый запрос работает, а не второй?
Если кто-то может помочь, это будет большим удовольствием.