Query ERROR 4010


#1

Hi, I am a neophyte in couchbase.
When i execute:
SELECT * FROM ‘travel-sample’;
Receive:
[
{
“code”: 4010,
“msg”: “FROM expression term must have a name or alias”,
“query_from_user”: “SELECT * FROM ‘travel-sample’;”
}
]

what should I do?
Tanks


#2

Hi Giovanni, it’s the quotes causing the problem. Try

SELECT * FROM `travel-sample`;

#3

If identifiers has special characters it needs to be escaped with back-ticks

https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/identifiers.html


#4

Giovanni,
quello che sta succedendo e` che travel-sample (il keyspace) piuttosto che essere racchiuso tra apici inversi (``, che indicano, appunto, un oggetto), è delimitato da apici (di due tipi diversi).
Gli apici indicano una stringa e non un oggetto, quindi tu stai chiedendo al motore di fare un SELECT da un espressione, e sintatticamente espressioni devono avere un alias, del che l’errore poco chiaro.
Come ti è stato suggerito, usa apici inversi.

(English translation summary: Giovanni, you are not using back ticks, which makes travel-sample an expression and not an object. Selecting from expressions is legal but requires aliases, hence the cryptic error. Use back ticks, as already suggested).

Marco