Ich habe eine Tabelle, die einen String als Schlüssel und eine timeuuid als Clustering-Spalte hat.Aktualisieren Sie Zeilen mit timeuuid als Clustering-Spalte
Was ich tun möchte, ist, ein Update darauf basierend auf timeuuid < now()
zu tun.
Beispiel:
UPDATE table SET is_used = true WHERE key1 = 'value' AND created_at < timeuuid('2016-02-03') IF is_used != true;
Aber immer
InvalidRequest: code=2200 [Invalid query] message="Invalid operator < for PRIMARY KEY part created_at
Gibt es eine Abhilfe oder Lösung für das? Warum wird die Clusterspalte in diesem Fall als Primärschlüssel angesehen?
Alles Gute
---- Update1: ---
I cassandra Version 2.2 das Schema verwenden ist die folgende:
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);
Welche Version von Cassandra verwenden Sie? Können Sie Ihr Tabellenschema auch teilen? Dies ist möglicherweise in Cassandra 3.x möglich (Bereichsbeziehungen für Clustering-Schlüssel), kann sich aber nicht sicher erinnern –