我需要对 WHERE 子句中的术语进行分组。例如,
WHERE (param1='foo1' OR param1='foo2') AND (param2='bar1' OR param2='bar2')
但它给了我一个语法错误,说括号是“意外的”。实际错误是:
GQL query error: Encountered "(" at line 1, column 29. Was expecting one of: "false", "null", "true", <INTEGER>, <DOUBLE>, <SINGLE_QUOTE_STRING>, <DOUBLE_QUOTE_STRING>, <UNQUOTED_NAME>, <QUOTED_NAME>, <NAME_BINDING_SITE>, <POSITION_BINDING_SITE>
那么,有什么方法可以让我运行该查询吗?
我相信您面临的问题来自OR
运算符 - GQL 没有运算符,因此括号中的条件在语法上不正确。
来自WHERE
行在Clauses https://cloud.google.com/datastore/docs/reference/gql_reference#clauses表(强调我的):
将结果集限制为满足一个或多个条件的实体
状况。每个条件将实体的属性与
使用比较运算符的值。如果组合多个条件
与AND关键字,那么一个实体必须满足所有
查询返回的条件。GQL 没有 OR
操作员.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)