Как искать таблицу с неопределенным столбцом

В Cassandra вы можете добавить и использовать новый столбец в таблице следующим образом:

cqlsh:mysite> CREATE TABLE mytable (
   url timeuuid,
   PRIMARY KEY (url)
);
cqlsh:mysite> ALTER TABLE mytable ADD tag_tagX text;
cqlsh:mysite> INSERT INTO mytable ( url ) VALUES ( now() );
cqlsh:mysite> SELECT * from mytable;

 url                                  | tag_tagx
--------------------------------------+----------
 ad47de80-8a2c-11e4-8ab4-eb66c236961e |     null

(1 rows)

cqlsh:mysite> CREATE INDEX ON mytable(tag_tagX);
cqlsh:mysite> SELECT * FROM mytable WHERE tag_tagX = null;
code=2200 [Invalid query] message="Unsupported null value for indexed column tag_tagx"

Поскольку Cassandra разрешает INSERT строк без указания некоторых столбцов, как мы можем выбрать строки, в которых нет этого столбца USED?


person Alain    schedule 22.12.2014    source источник
comment
возможный дубликат How Могу ли я искать записи с нулевым/пустым полем с помощью CQL?   -  person AlexMeng    schedule 23.12.2014
comment
@AlexMeng: я опубликовал, не пересматривая заголовок вопроса, я исправил его, спасибо. Ответ по вашей ссылке аналогичен, но без сосредоточения внимания на обходном пути, который нужно применить в этой ситуации ... как мы можем создать SELECT, который ищет строки, которые НЕ содержат какое-либо значение в столбце?   -  person Alain    schedule 23.12.2014
comment
Вы не можете выбирать значения null в Cassandra. Вам придется обойти это.   -  person AlexMeng    schedule 23.12.2014
comment
@AlexMeng: Это была проверка на вменяемость, я думаю, вы, вероятно, правы. Можете ли вы опубликовать ответ, чтобы я принял его.   -  person Alain    schedule 23.12.2014


Ответы (1)


Вы не можете выбирать значения null в Cassandra.

person AlexMeng    schedule 22.12.2014