2015-08-20 16 views
16

Sto cercando di inserire una riga semplice nella tabella. Qualcuno può far notare cosa sta succedendo qui?Cassandra "nessuna alternativa valida all'ingresso"

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

può esserci un errore che ogni dev ignora potenzialmente mentre ricontrolla, virgolette singole o doppie !!!!! –

risposta

14

Sintassi errata. Ecco a voi:

inserto in user_by_category (game_category, customer_id) VALORI ('Goku', '12');

o:

inserto in user_by_category ("game_category", "customer_id") VALORI ('Kakarot', '12');

Il secondo è normalmente utilizzato per i nomi di colonna con distinzione tra maiuscole e minuscole.

+0

Ha funzionato puoi fornire dove è documentato? http://docs.datastax.com/en//cql/3.0/cql/cql_reference/insert_example_t.html esempi qui sono errati – Adelin

+1

Nell'esempio che hai fornito i nomi delle colonne sono elencati senza virgolette singole/doppie. Qui: http://stackoverflow.com/questions/20332462/insert-into-column-family-with-case-sensitive-column-name Ho visto le virgolette doppie, tuttavia non riesco a trovare la documentazione per questo . – piotrwest

Problemi correlati