本文介紹使用SQL查詢時的常見錯誤處理方法,主要包括OTSUnsupportOperation、OTSQuotaExhausted、OTSParameterInvalid和OtsRequestTimeout四種類型的錯誤。
錯誤碼 | 錯誤資訊 | 描述 | 解決辦法 |
OTSUnsupportOperation | Operation not supported | Table StoreSQL目前覆蓋部分SQL功能集合。當使用未支援的SQL文法時,系統會報錯。 | 使用Table StoreSQL支援的功能。 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中屬性列的資料類型不匹配。 | Table Store資料表是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查詢只支援部分資料類型。更多資訊,請參見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功能,您可以在建立多元索引時配置預排序。更多資訊,請參見建立多元索引。 |