2015-08-20 35 views
6

Mongo veya cassandra üzerinde çalışacak bir api oluşturuyorum, bu nedenle '_id' sütun adı olarak kullanıyorum.Cassandra geçerli sütun adları

Bu dokümanlar göre geçerli bir adı olmalıdır:

CREATE TABLE users(_id: bigint, entires: map<timestamp, text>, PRIMARY KEY(_id)); 

aşağıdaki hatayı döndürür:

Invalid syntax at line 1, char 20 

Ancak

Keyspace, column, and table names created using CQL can only contain alphanumeric and underscore characters. User-defined data type names and field names, user-defined function names, and user-defined aggregate names created using CQL can only contain alphanumeric and underscore characters. If you enter names for these objects using anything other than alphanumeric characters or underscores, Cassandra will issue an invalid syntax message and fail to create the object.

, ben bu deyimi çalıştırdığınızda Altçizgi sütun adlarında kullanmak mümkün mü?

cevap

4

sütun adlarını? Evet. Alt çizgi ile başlayan sütun isimleri? CREATE TABLE documentation itibaren sayılı

:

Valid table names are strings of alphanumeric characters and underscores, which begin with a letter.

+0

o docs göre yasadışı olmalıdır olsa da, gerçekte çalışır. lütfen cevabımı gör – kostja

3

Sen bir alt çizgi ile başlayan bir sütun adı oluşturabilirsiniz. Kullanım tırnak: sütun adı _id

yapabilirsiniz rağmen, böyle bir sütunu olmalıdır anlamına gelmez olacaktır

CREATE TABLE users("_id": bigint, entires: map<timestamp, text>, PRIMARY KEY("_id")); 

- Eğer hantal hale her sorguda tırnak kullanmaya devam etmek gerekir:

SELECT "_id" FROM users;

İlgili konular