18

次のように定義された CQL テーブルがあります。

CREATE table primary_key_only(
  row_key varchar,
  clustered_key varchar,
  primary key(row_key, clustered_key)
)

次のような値を挿入すると仮定します。

INSERT INTO primary_key_only (row_key, clustered_key) VALUES ('FACE', 'D00D') USING TTL 86400;

挿入されたデータの TTL を取得するにはどうすればよいですか? 通常、主キーの一部ではない CQL 列があった場合、次のようなステートメントを使用できます。

SELECT ttl(<column_name>) FROM table WHERE row_key='key';

ただし、主キー列しかないため、 や のような関数は機能ttlwritetimeません。主キーの一部ではない追加の「ダミー」列をテーブルに追加する以外に、TTL を取得するにはどうすればよいですか?

4

2 に答える 2

7

将来の訪問者のために、2.2 の時点では、ダミー列を追加しないとこれはまだ不可能です。

于 2015-10-19T13:18:55.730 に答える
0

主キーの一部であることを除いて、clustered_key で ttl を呼び出すことができます。

おそらく、クラスター化されたキーは主キーの一部である必要はありませんか?

CREATE table primary_key_only(
  row_key varchar primary key,
  clustered_key varchar
);

INSERT INTO primary_key_only(row_key, clustered_key) VALUES('FACE', 'D00D') USING TTL 86400;

SELECT row_key, clustered_key, ttl(clustered_key) FROM primary_key_only;
于 2013-10-01T20:00:44.220 に答える