本文介绍使用SQL查询时的常见错误处理方法,主要包括OTSUnsupportOperation、OTSQuotaExhausted、OTSParameterInvalid和OtsRequestTimeout四种类型的错误。
错误码 | 错误信息 | 描述 | 解决办法 |
---|---|---|---|
OTSUnsupportOperation | Operation not supported | 表格存储SQL目前覆盖部分SQL功能集合。当使用未支持的SQL语法时,系统会报错。 | 使用表格存储SQL支持的功能。
SQL功能会快速迭代,最新功能集合请以官网文档为准。更多信息,请参见SQL支持功能说明。 |
text_match is only supported for TEXT field in filter conditions in search index | 全文检索函数使用错误。全文检索函数(text_match和text_match_phrase)必须使用在多元索引中的TEXT类型字段,并且只能出现在过滤条件中。 | 确保正确的使用全文检索功能。更多信息,请参见全文检索。 | |
text_match_phrase is only supported for TEXT field in filter conditions in search index | |||
OTSQuotaExhausted | The sql scanned rows of kv exceeds the quota! Search quota is 100000 rows, table quota is 100000 rows | 选择KV引擎作为查询引擎时扫描到的行数或者数据量超过限制。 |
说明 目前扫描最大行数为100000行,扫描最大数据量为128 MB,扫描最大时间为30秒。
|
The sql scanned rows of search exceeds the quota! Search quota is 100000 rows, table quota is 100000 rows | 选择多元索引引擎作为查询引擎时扫描到的行数或者数据量超限。 |
|
|
The sql duration time exceed the quota! Quota is 30 seconds | SQL运行超时。 |
|
|
OTSParameterInvalid | Field type mismatch, actual: STRING, expect: INTEGER, col: xxx, primary key: {"PrimaryKeys":[{"ColumnName":"xxx","Value":"xxx","PrimaryKeyOption":0}]} | 数据表中属性列的数据类型和SQL中属性列的数据类型不匹配。 | 表格存储数据表是Free-Schema的,允许在同一个属性列中写入多种类型的数据,但是SQL是Strong-Schema的,每个字段必须具有特定的类型定义。
使用SQL时,请确保数据表中属性列的数据类型与SQL中属性列的数据类型相匹配。您可以根据报错信息修改数据表中指定行对应属性列的数据类型。 |
Table 'instancename.tablename' doesn't exist | 创建映射关系时,指定的表不存在。 | SQL中的Create Table语句只能为已存在的表或者多元索引创建映射关系。请确保要创建映射关系的表或者多元索引存在。更多信息,请参见创建表的映射关系和创建多元索引的映射关系。 | |
Field type 'DECIMAL(11,0)' is not supported | SQL不支持数据类型DECIMAL。 | SQL查询只支持部分数据类型。更多信息,请参见数据类型映射。 | |
Search engine: length of field value is longer than 32 for the [WILDCARD_QUERY] query | like条件的字符长度超过32个。 | 减少like条件的字符个数。 | |
Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column | 使用GROUP BY分组查询时,GROUP BY中未包含聚合函数。 | 在SQL语句中添加聚合条件。更多信息,请参见查询数据。 | |
Offset + limit exceeds the quota! quota is 150000 rows | offset+limit超过最大限制。使用limit a,b表达式时,a+b超过最大限制。最大限制为150000。 | 确保offset+limit之和小于等于150000。 | |
Unknown column 'xxx' in field list | SQL语句中包含了映射表中不存在的字段名。
通常是由于为数据表创建映射关系后,在数据表中新增了字段,但是未在对应映射表中添加新增的字段。 |
映射表中需要包含查询所需的字段,请在映射表中添加新增的字段。具体操作,请参见更新映射表属性列。 | |
OtsRequestTimeout | Search engine: search timeout, please retry | 此次查询访问了多元索引且单次查询运行超时。 | 查看使用的查询特性是否需要在多元索引中配置预定义规则。例如要使用order by功能,您可以在创建多元索引时配置预排序。更多信息,请参见创建多元索引。 |