2015-08-20 9 views
16

Ich versuche eine einfache Zeile in die Tabelle einzufügen. Kann jemand darauf hinweisen, was hier passiert?Cassandra "keine brauchbare Alternative am Eingang"

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

Es kann einen Fehler geben, den jeder Entwickler bei der erneuten Überprüfung, einfache oder doppelte Anführungszeichen möglicherweise ignoriert !!!!! –

Antwort

14

Falsche Syntax. Sie sind hier:

Einsatz in user_by_category (game_category, customer_id) VALUES ('Goku', '12');

oder:

Insert in user_by_category ("game_category", "customer_id") -Werten ('Kakarot', '12');

Die zweite wird normalerweise für die Groß-/Kleinschreibung der Spaltennamen verwendet.

+0

Es hat funktioniert, können Sie angeben, wo dies dokumentiert ist? http://docs.datastax.com/en//cql/3.0/cql/cql_reference/insert_example_t.html Beispiele hier sind falsch – Adelin

+1

Im Beispiel, das Sie zur Verfügung gestellt haben Spaltennamen sind ohne einzelne/doppelte Anführungszeichen aufgeführt. Hier: http://stackoverflow.com/questions/20332462/insert-into-column-family-with-case-sensitive-column-name Ich habe die doppelten Anführungszeichen gesehen, aber ich kann die Dokumentation dafür nicht finden . – piotrwest