Couchbase Java SDK N1QL 更新问题

Couchbase Java SDK N1QL UPDATE issue

我正在使用 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 网络上运行良好UI,我可以毫无问题地进行更新。

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

Select 查询以类似的方式执行,没有任何问题。

"admin' 不是一个好的存储桶名称,因为它通常与一些保留关键字相关,如果您仍然想使用此名称,则必须在其周围使用反引号:

update `admin` set FIELDNAME = 'TEST'

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