J'ai une table qui a une chaîne comme clé et un timeuuid comme colonne de mise en cluster. Je voudrais faire une mise à jour basée sur timeuuid < now()
.Mise à jour des lignes avec timeuuid comme colonne de mise en cluster
Exemple:
UPDATE table SET is_used = true WHERE key1 = 'value' AND created_at < timeuuid('2016-02-03') IF is_used != true;
Mais obtenir
InvalidRequest: code=2200 [Invalid query] message="Invalid operator < for PRIMARY KEY part created_at
Y at-il moyen ou une solution pour cela? Pourquoi la colonne clustering est-elle considérée comme clé primaire dans ce cas?
Tous les meilleurs
---- Update1: ---
J'utilise la version 2.2 du cassandra de schéma est le suivant:
CREATE TABLE book (
created_at timeuuid,
book_type varchar,
book_title varchar
PRIMARY KEY ((book_type), created_at)) WITH CLUSTERING ORDER BY (book created_at DESC);
quelle version de cassandra utilisez-vous? Aussi, pouvez-vous partager votre schéma de table? Cela peut être possible (relations de portée sur les clés de clustering) dans cassandra 3.x, mais ne peut pas se souvenir à coup sûr –