質問 - CQL2 では、存在しない列の値に対して select ステートメントを使用して結果を取得できます (ただし、これは CQL3 では発生しません)。誰かが私にこれを説明できますか?
存在しない C0 列の値 ('test') を使用して選択クエリで結果が得られる理由を理解していますか? よくわかりません – 以下を参照してください: 何か設定が間違っているはずですが、何が?
cqlsh> use Keyspace1;
cqlsh:Keyspace1> CREATE COLUMNFAMILY users (
... KEY varchar PRIMARY KEY,
... gender varchar,
... birth_year bigint);
cqlsh:Keyspace1> INSERT INTO users (KEY, gender, birth_year) VALUES ('TEST', 'm', 1968);
cqlsh:Keyspace1> select * from users;
KEY | birth_year | gender
------+------------+--------
TEST | 1968 | m
cqlsh:Keyspace1> select * from users where key = 'TEST';
KEY | birth_year | gender
------+------------+--------
TEST | 1968 | m
cqlsh:Keyspace1> CREATE INDEX birth_year_key ON users (birth_year);
cqlsh:Keyspace1> CREATE INDEX gender_key ON users (gender);
cqlsh:Keyspace1> select * from users where key = 'TEST' and birth_year = 1968;
KEY | birth_year | gender
------+------------+--------
TEST | 1968 | m
cqlsh:Keyspace1> select * from users where birth_year = 1968;
KEY | birth_year | gender
------+------------+--------
TEST | 1968 | m
ここまでは順調ですが、次の動画をご覧ください。
cqlsh:Keyspace1> select * from users where key = 'TEST' and birth_year = 1962;
KEY | birth_year | gender
------+------------+--------
TEST | 1968 | m
ここで何が起こっているのですか?ありがとう、マット