0

カラムファミリーは

create column family markers
with comparator = UTF8Type 
and default_validation_class=UTF8Type 
and key_validation_class=UUIDType 
and column_metadata=
[
 {
  column_name : userid,
  validation_class : UTF8Type, index_type: KEYS
 },
 {
  column_name : activated,
  validation_class : UTF8Type, index_type: KEYS
 },
 {
  column_name : latitude,
  validation_class : DoubleType, index_type: KEYS
 },
 {
  column_name : longtitude,
  validation_class : DoubleType, index_type: KEYS
 },
 {
  column_name : altitude,
  validation_class : DoubleType, index_type: KEYS
 },
 {
  column_name : area,
  validation_class : DoubleType, index_type: KEYS
 },
 {
  column_name : title,
  validation_class : UTF8Type, index_type: KEYS
 },
 {
  column_name : memo,
  validation_class : UTF8Type, index_type: KEYS
 },
 {
  column_name : picdata,
  validation_class : BytesType
 }];

'select * frommarkers whwere in([rowkeys])'をクエリすると、結果には行キーのみが含まれます。

しかし、「マーカーから*を選択」とクエリすると、結果にはすべての列が含まれます。

'where in()'を使用すると、結果は行キーのみになるのはなぜですか?

英語でごめんなさい。

誰かが私を助けてくれますTT

4

1 に答える 1

0

CQL構文が間違っています。

そのはず:

SELECT * FROM markers WHERE <CLAUSE>;

あなたの例では、'in([rowkeys])'のステートメントは無効です。誤った形式のCQLステートメントの結果が得られることに驚いています。

有効なクエリは次のようになります。

SELECT * FROM markers where latitude > 60.0;
于 2013-01-14T16:14:18.800 に答える