Couchbase Java SDK N1QL UPDATE问题

问题描述 投票:0回答:1

我正在使用Java 2.7 SDK试验Java和Couchbase 6.0社区版。

我正在尝试从我的Java应用程序Couchbase Java 2.7 SDK执行一个简单的更新查询:

String query ="UPDATE admin SET FIELDNAME='TEST'"
N1qlParams params = N1qlParams.build().adhoc(false);
N1qlQuery nquery = N1qlQuery.simple(query, params);
N1qlQueryResult nqr= this.rbucket.query(nquery);

我得到以下异常(最有意义的部分):

com.couchbase.client.core.CouchbaseException: N1qlQuery Error - {"msg":"syntax error - at UPDATE","code":3000}

实际的异常开始如下:

Exception in thread "main" com.couchbase.client.core.CouchbaseException: Error while preparing plan

当然 - 这个查询在Couchbase Web UI中运行良好,我可以毫无问题地更新。

仅供参考:我尝试转义单引号,甚至尝试将列设置为等于自身 - 同样的错误。

选择查询以类似的方式执行而没有任何问题。

java couchbase n1ql
1个回答
0
投票

“admin'不是一个好名字,因为它通常与一些保留的关键字有关,如果你仍然想使用这个名字,你必须使用它的反引号:

update `admin` set FIELDNAME = 'TEST'

如果您还没有主索引,它也可能会要求您创建主索引。

© www.soinside.com 2019 - 2024. All rights reserved.