2015-08-20 2 views
16

Я пытаюсь вставить простую строку в таблицу. Может ли кто-нибудь указать, что здесь происходит?Cassandra «нет жизнеспособной альтернативы при вводе»

CREATE TABLE recommendation_engine_poc.user_by_category (
     game_category text, 
     customer_id text, 
     amount double, 
     game_date timestamp, 
     PRIMARY KEY (game_category, customer_id) 
    ) WITH CLUSTERING ORDER BY (customer_id ASC) 
     AND bloom_filter_fp_chance = 0.01 
     AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' 
     AND comment = '' 
     AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'} 
     AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'} 
     AND dclocal_read_repair_chance = 0.1 
     AND default_time_to_live = 0 
     AND gc_grace_seconds = 864000 
     AND max_index_interval = 2048 
     AND memtable_flush_period_in_ms = 0 
     AND min_index_interval = 128 
     AND read_repair_chance = 0.0 
     AND speculative_retry = '99.0PERCENTILE'; 

    cqlsh:recommendation_engine_poc> insert into user_by_category ('game_category','customer_id') VALUES ('Goku','12') ; 
    SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query] message="line 1:31 no viable alternative at input 'game_category' (insert into user_by_category (['game_categor]...)"> 
+0

может быть одна ошибка, которую каждый разработчик потенциально игнорирует при повторной проверке, одинарные или двойные кавычки !!!!! –

ответ

14

Неправильный синтаксис. Здесь вы:

вставки в user_by_category (game_category, customer_id) VALUES (' Гоку', '12');

или:

вставки в user_by_category ("game_category", "customer_id") Значения ('Kakarot', '12');

Второй, как правило, используется для имен столбцов, чувствительных к регистру.

+0

Он работал, можете ли вы предоставить, где это задокументировано? http://docs.datastax.com/en//cql/3.0/cql/cql_reference/insert_example_t.html примеры здесь неправильные – Adelin

+1

В примере, который вы предоставили имена столбцов, перечислены без одинарных/двойных кавычек. Здесь: http://stackoverflow.com/questions/20332462/insert-into-column-family-with-case-sensitive-column-name Я видел двойные кавычки, однако я не могу найти документацию для этого , – piotrwest

Смежные вопросы