---
title: "5000 ~ 5999 - OceanBase 数据库 V4.2.2 | OceanBase 文档中心"
description: "5000 ~ 5999 此范围表示 SQL 层错误码。包含 SQL 错误码，WITH 子句错误码及 Factoring 错误码。 ERROR 5002 (HY000) : Resolve error OceanBase 错误码：5002 错误原因：解析错误。 解决方式：请联系技术支持人员协助排查。 ERROR 501…"
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.2.2

# 5000 ~ 5999

更新时间：2026-04-10 11:58:37

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.2.2/zh-CN/700.reference/900.error-code/600.error-code-of-mysql-mode/500.5000-5999-of-mysql-mode.md)  

此范围表示 SQL 层错误码。包含 SQL 错误码，WITH 子句错误码及 Factoring 错误码。

## ERROR 5002 (HY000) : Resolve error

- OceanBase 错误码：5002
 - 错误原因：解析错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5010 (21000) : Unknown operator

- OceanBase 错误码：5010
 - 错误原因：解析阶段的内部防御检查错误码。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5011 (42000) : Duplicated star

- OceanBase 错误码：5011
 - 错误原因：`*` 的用法错误。SQL 语句只支持使用一个 `*`。
 - 解决方式：删除 SQL 语句中的多余的 `*`。

## ERROR 5012 (HY000) : Illegal ID

- OceanBase 错误码：5012
 - 错误原因：内部参数防御错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5014 (HY000) : Illegal value

- OceanBase 错误码：5014
 - 错误原因：数值类型转换错误。
 - 解决方式：检查 SQL 语句中的 CAST 语句是否正确，比如是否存在隐式转换等。

## ERROR 5016 (HY000) : Generate logical plan error

- OceanBase 错误码：5016
 - 错误原因：生成计划出错。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5017 (HY000) : Schema not set

- OceanBase 错误码：5017
 - 错误原因：内部错误码。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5023 (S1004) : unsupport MySQL type (number). Maybe you should use java.sql.Timestamp instead of java.util.Date

- OceanBase 错误码：5023
 - 错误原因：不支持的类型。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5031 (HY000) : Column not found

- OceanBase 错误码：5031
 - 错误原因：列不存在。
 - 解决方式：排查操作对象涉及的列是否已存在，或联系技术支持人员协助排查。

## ERROR 5034 (01007) : No user

- OceanBase 错误码：5034
 - 错误原因：用户名空。
 - 解决方式：提供用户名。

## ERROR 5050 (42710) : User exists

- OceanBase 错误码：5050
 - 错误原因：用户或角色已存在。
 - 解决方式：排查操作用户或角色是否已存在，或联系技术支持人员协助排查。

## ERROR 5053 (HY093) : Incorrect arguments number to EXECUTE, need %ld arguments but give %ld

- OceanBase 错误码：5053
 - 错误原因：EXECUTE 时绑定变量个数与 PREPARE 中参数个数不一样。
 - 解决方式：确保 EXECUTE 绑定变量个数与 PREPARE 需要的参数个数一样。

相关问题案例：

- [游标执行失败，错误代码 5053](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000001059?back=kb)

## ERROR 5058 (42000) : Duplicated parameters

- OceanBase 错误码：5058
 - 错误原因：重复的参数。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5063 (42000) : Unknown hint

- OceanBase 错误码：5063
 - 错误原因：解析错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5066 (HY000) : Session interrupted

- OceanBase 错误码：5066
 - 错误原因：Session 被终止。
 - 解决方式：联系系统管理员或数据库管理员。

## ERROR 5071 (42000) : Cannot alter index column

- OceanBase 错误码：5071
 - 错误原因：删除索引引用列。
 - 解决方式：不允许删除索引引用列。

## ERROR 5074 (23000) : NOP cannot be used here

- OceanBase 错误码：5074
 - 错误原因：内核 Bug。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5081 (25000) : The server is read only now

- OceanBase 错误码：5081
 - 错误原因：当前操作的数据只读。
 - 解决方式：检查当前操作的数据是否只读，或联系技术支持人员协助排查。

## ERROR 5083 (22000) : invalid obj type for type promotion: left_type=%s right_type=%s

- OceanBase 错误码：5083
 - 错误原因：类型转换错误。
 - 解决方式：请联系技术支持人员协助排查。

相关问题案例：

- [Oracle 模式 Update 更新 Clob 报错 ret_code=-5083](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000322504)

## ERROR 5084 (22000) : Can not cast varchar value to bool type

- OceanBase 错误码：5084
 - 错误原因：类型转换错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5085 (22000) : Not a number Can not cast varchar value to number type

- OceanBase 错误码：5085
 - 错误原因：类型转换错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5086 (22000) : Not timestamp Can not cast varchar value to timestamp type

- OceanBase 错误码：5086
 - 错误原因：类型转换错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5087 (22000) : Result value was out of range when cast to number

- OceanBase 错误码：5087
 - 错误原因：数值超限。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5090 (22000) : Precision was out of range

- OceanBase 错误码：5090
 - 错误原因：精度超限。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5091 (22000) : Scale value was out of range

- OceanBase 错误码：5091
 - 错误原因：精度超限。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5092 (42000) : Unknown index

- OceanBase 错误码：5092
 - 错误原因：未知的索引。
 - 解决方式：检查在接口中是否错误地使用了索引。

## ERROR 5098 (22001) : Data too long(%d>%ld) for column '%s'

- OceanBase 错误码：5098
 - 错误原因：数字输入超限。
 - 解决方式：减少数字长度。

## ERROR 5099 (42000) : System config unknown

- OceanBase 错误码：5099
 - 错误原因：无效的配置项。
 - 解决方式：检查配置项名称是否正确。

## ERROR 5106 (42000) : EXTRACT() expected timestamp or a string as date argument

- OceanBase 错误码：5106
 - 错误原因：数据类型错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5107 (42000) : Invalid operand type for IS operator, lval=%s

- OceanBase 错误码：5107
 - 错误原因：`IS` 表达式参数错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5108 (42000) : function LENGTH（) expected a varchar argument

- OceanBase 错误码：5108
 - 错误原因： `LENGTH` 表达式参数错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5110 (42000) : TIME_TO_USEC() expected timestamp or a string as date argument

- OceanBase错误码：5110
 - 错误原因：`TIME_TO_USEC` 函数的参数只能为 `VARCHAR` 、`TIME` 、`DATATIME` 、或 `TIMESTAMP` 类型。
 - 解决方式：修改参数的类型。

## ERROR 5111 (42000) : USEC_TO_TIME expected a interger number as usec argument

- OceanBase 错误码：5111
 - 错误原因：`USEC_TO_TIME` 函数的参数只能为 `TINYINT` 、`MEDIUMINT` 、`INT` 或 `BIGINT` 类型。
 - 解决方式：修改参数的类型。

## ERROR 5112 (42P01) : Variable %.*s does not exists

- OceanBase 错误码：5112
 - 错误原因：变量不存在。
 - 解决方式：检查变量拼写是否有误。

## ERROR 5114 (42000) : Invalid numeric char '%c'

- OceanBase 错误码：5114
 - 错误原因：非法数字。
 - 解决方式：请联系技术支持人员协助排查。

相关问题案例：

- [建表时引用 INFORMATION_SCHEMA.STATISTICS 视图报错 5114](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000279883)

## ERROR 5116 (HY000) : Logical operator child index overflow

- OceanBase 错误码：5116
 - 错误原因：内核错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5117 (HY000) : fail to explain plan

- OceanBase 错误码：5117
 - 错误原因：生成计划出错。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5118 (HY000) : fail to copy logical operator

- OceanBase 错误码：5118
 - 错误原因：生成计划出错。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5119 (HY000) : fail to generate plan

- OceanBase 错误码：5119
 - 错误原因：生成计划出错。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5120 (HY000) : fail to create raw expr

- OceanBase 错误码：5120
 - 错误原因：生成计划出错。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5121 (HY000) : fail to generate join order

- OceanBase 错误码：5121
 - 错误原因：生成计划出错。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5122 (HY000) : optimizer general error

- OceanBase 错误码：5122
 - 错误原因：生成计划出错。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5130 (HY000) : sql resolver no memory

- OceanBase 错误码：5130
 - 错误原因：内存不足。
 - 解决方式：调大 SQL 内存或者联系技术支持人员协助排查。

## ERROR 5131 (HY000) : plan cache support dml only

- OceanBase 错误码：5131
 - 错误原因：对非 DML 语句进行了 `OUTLINE` 绑定。
 - 解决方式：不对非 DML 语句进行 `OUTLINE` 绑定。

## ERROR 5133 (42000) : No such grant defined

- OceanBase 错误码：5133
 - 错误原因：回收权限时，发现未授予该权限。

## ERROR 5136 (HY000) : plan exists in plan cache already

- OceanBase 错误码：5136
 - 错误原因：增加执行计划时，计划缓存中已存在该计划。
 - 解决方式：内部错误码，请联系技术支持人员协助排查。

## ERROR 5137 (HY000) : plan is expired

- OceanBase 错误码：5137
 - 错误原因：计划已过期。
 - 解决方式：内部错误码，请联系技术支持人员协助排查。

## ERROR 5138 (HY000) : no plan exist

- OceanBase 错误码：5138
 - 错误原因：get plan 时, plan 不存在。
 - 解决方式：内部错误码，请联系技术支持人员协助排查。

## ERROR 5144 (HY000) : COLLATION '%.*s' is notvalid for CHARACTER SET '%.*s'

- OceanBase 错误码：5144
 - 错误原因：可能是以下情况之一：

     - 运算符或内置函数的字符串操作数（除 `nlsparams` 参数外）使用的不是相同的字符集。
     - `nlsparams` 操作数不在数据库字符集中。
     - 传递给内置函数的字符串数据使用的是数据库字符集以外的字符集，但是内置函数不接受该字符集。
     - `CHR（）` 或 `CSCONVERT（）` 的第二个参数不是 `CHAR_CS` 或 `NCHAR_CS`。
     - `INSERT` 语句的 `VALUES` 子句中的字符串表达式或 `UPDATE` 语句的 `SET` 子句中的字符串表达式的字符集与所要插入的列使用的字符集不一致。
     - 创建表时在 `DEFAULT` 子句中提供的值使用的字符集与列所声明的字符集不一致。
     - `PL/SQL` 函数的参数不符合相应参数的字符集要求。

## ERROR 5150 (HY000) : Tenant not in this server

- OceanBase 错误码：5150
 - 错误原因：所在机器没有对应租户资源。
 - 解决方式：重试，若持续出现该问题，请联系技术支持人员协助排查。

相关问题案例：

- [普通租户下 SELECT DBA_OB_LS_LOCATIONS 超时报错-5150](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000233832)

## ERROR 5151 (42P01) : tablegroup not exist

- OceanBase 错误码：5151
 - 错误原因：Table group 不存在，指定了无效的 Table group 名称。
 - 解决方式：检查 Table group 名称是否正确。

## ERROR 5156 (HY000) : tenant \'%s\' already exist

- OceanBase 错误码：5156
 - 错误原因：创建的租户重名或者内部错误。
 - 解决方式：若租户重名，修改租户名称并重建；其他场景请联系技术支持人员协助排查。

## ERROR 5157 (HY000) : Unknown tenant '%.*s'

- OceanBase 错误码：5157
 - 错误原因：Schema 刷新落后，或者租户被删除。
 - 解决方式： 重试，若持续出现该问题，请联系技术支持人员协助排查。

相关问题案例：

- [日志中一直打印错误代码 ret=-5157](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000207724)

## ERROR 5159 (HY000) : tablegroup already exist

- OceanBase 错误码：5159
 - 错误原因：Table group 已经存在。
 - 解决方式：检查 Table group 名称是否正确。

## ERROR 5160 (HY000) : invalid tenant name specified in connection string

- OceanBase 错误码：5160
 - 错误原因：指定租户名不存在。
 - 解决方式：确认指定租户是否存在，若存在，请联系技术支持人员协助排查。

## ERROR 5212 (42000) : auto-increment column '%.*s' should not be part of partition key

- OceanBase 错误码：5212
 - 错误原因：自增列不能作为分区键的一部分。
 - 解决方式：将自增列从分区键中移除。

## ERROR 5223 (42000) : wrong ident name

- OceanBase 错误码：5223
 - 错误原因：错误的变量名。
 - 解决方式：使用合法的变量名。

## ERROR 5226 (42000) : plan cache memory used reach the high water mark

- OceanBase 错误码：5226
 - 错误原因：计划缓存使用内存达到了内存上限, 会自动触发淘汰。
 - 解决方式：调大计划缓存内存上限。

相关问题案例：

- [Plan Cache 内存用满](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209934)
 - [add_plan 报错： -5226 plan cache memory used reach limit](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209936)
 - [UDT 模块内存泄漏导致 plan cache 用满](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209938)

## ERROR 5234 (HY000) : The database \'%.*s\' is read only so it cannot execute this statement

- OceanBase 错误码：5234
 - 错误原因：在只读数据库上进行了操作。
 - 解决方式：不操作只读的数据库。

## ERROR 5235 (HY000) : The table \'%.*s.%.*s\' is read only so it cannot execute this statement

- OceanBase 错误码：5235
 - 错误原因：在只读表上进行了操作。
 - 解决方式：不操作只读的表。

相关问题案例：

- [Oracle 模式普通用户创建只读视图后无法 DROP 或 REPLACE 视图](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000207728)

## ERROR 5243 (HY000) : system variables' version maybe different

- OceanBase 错误码：5243
 - 错误原因：内部错误码。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5245 (HY000) : some tasks are skipped, skipped server addr is '%s', the orginal error code is %d

- OceanBase 错误码：5245
 - 错误原因：内部错误码。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5248 (HY000) : Alter table add auto_increment column is dangerous, table_name=\'%.*s\', column_name=\'%s\'

- OceanBase 错误码：5248
 - 错误原因：不建议在修改表的时候添加自增列。
 - 解决方式：建议仅当表中无数据时，做此操作。

## ERROR 5252 (HY000) : Column \'%.*s\' definition is ambiguous. Column has both NULL and NOT NULL attributes

- OceanBase 错误码：5252
 - 错误原因：字段定义同时指定为 `NULL` 和 `NOT NULL`。
 - 解决方式：只保留一项。

## ERROR 5258 (HY000) : Invalid block size, block size should between 1024 and 1048576

- OceanBase 错误码：5258
 - 错误原因：无效的 Block 大小。
 - 解决方式：修改 Block 大小。

## ERROR 5260 (HY000) : Tenant \'%.*s\' is locked

- OceanBase 错误码：5260
 - 错误原因：租户被锁定。
 - 解决方式：解锁租户。

## ERROR 5264 (HY000) : Outline '%.*s' already exists

- OceanBase 错误码：5264
 - 错误原因：`OUTLINE` 已存在。
 - 解决方式：检查是否与其他 SQL 绑定了相同的 `OUTLINE`。

## ERROR 5265 (HY000) : Outline \'%.*s.%.*s\' doesn\'t exist

- OceanBase 错误码：5265
 - 错误原因：`OUTLINE` 不存在。
 - 解决方式：检查是否创建了对应 `OUTLINE`。

## ERROR 5267 (HY000) : invalid outline ,error info:%s

- OceanBase 错误码：5267
 - 错误原因：无效的 `OUTLINE`。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5268 (HY000) : SQL reach max concurrent num %ld

- OceanBase 错误码：5268
 - 错误原因：达到 SQL 限流上限。
 - 解决方式：降低并发量。

## ERROR 5269 (HY000) : can not perform DDL/DML over objects in Recycle Bin

- OceanBase 错误码：5269
 - 错误原因：不能操作回收站中的对象。
 - 解决方式：将对象从回收站中恢复后再操作。

## ERROR 5270 (HY000) : object not in RECYCLE BIN

- OceanBase 错误码：5270
 - 错误原因：对象不在回收站中。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5272 (HY000) : Outline content '%.*s' of outline '%.*s' already exists when added

- OceanBase 错误码：5272
 - 错误原因：`OUTLINE` 已创建。
 - 解决方式：检查之前创建的 `OUTLINE` 是否符合预期，如果符合预期，则不需要再创建 `OUTLINE`；如果不符合预期, 可以 `DROP OUTLINE` 后重新创建。

## ERROR 5273 (HY000) : Max concurrent in outline '%.*s' already exists when added

- OceanBase 错误码：5273
 - 错误原因：要创建的限流规则已经存在。
 - 解决方式：检查创建限流的语句中是否包含已经存在的限流规则。

## ERROR 5278 (HY000) : This partition value with incorrect charset type

- OceanBase 错误码：5278
 - 错误原因：分区值的 Meta 信息不一致。
 - 解决方式：修改分区值，使 Meta 信息一致。

## ERROR 5291 (HY000) : The CTXCAT column must be contiguous in the index column list

- OceanBase 错误码：5291
 - 错误原因：`CTXCAT` 字段必须连续。
 - 解决方式：调整 `CTXCAT` 字段，或联系技术支持人员协助排查。

## ERROR 5296 (42000) : there has no readable replica

- OceanBase 错误码：5296
 - 错误原因：计划生成的时候没有选到可用副本。
 - 解决方式：请联系技术支持人员排查。

## ERROR 5297 (HY000) : unexpected time zone info transition

- OceanBase 错误码：5297
 - 错误原因：使用了 gap 或 overlap 时间。
 - 解决方式：使用非 gap 时间或设置 `error_on_overlap_time` 变量为 `false`。

## ERROR 5298 (HY000) : synonym '%.*s' already exists

- OceanBase 错误码：5298
 - 错误原因：同义词已存在。
 - 解决方式：检查是否有冲突的同义词名称，创建不同名称的同义词。

## ERROR 5299 (HY000) : synonym \'%.*s.%.*s\' doesn\'t exist

- OceanBase 错误码：5299
 - 错误原因：同义词不存在。
 - 解决方式：检查是否使用了不存在的同义词。

## ERROR 5300 (HY000) : missing ORDER BY expression in the window specification

- OceanBase 错误码：5300
 - 错误原因：在窗口函数中丢失 `ORDER BY` 表达式。
 - 解决方式：添加相关 `ORDER BY` 表达式到窗口函数中。

## ERROR 5301 (HY000) : The argument of the window function should be a constant for a partition

- OceanBase 错误码：5301
 - 错误原因：窗口函数中的参数要求为常量。
 - 解决方式：修改窗口函数中的相关参数为常量值。

## ERROR 5307 (HY000) : Not enough thread resource to execute the query. Require setting parallel_servers_target to a value no less than %ld for this query

- OceanBase 错误码：5307
 - 错误原因：执行线程不足。
 - 解决方式：调大 `parallel_servers_target` 系统变量的值。

相关问题案例：

- [OBServer 日志出现 out of px worker resource 的原因](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000267156)
 - [PX 执行无法获得线程，无限重试直到 ob_query_timeout 超时](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000217870)
 - [OceanBase 数据库日志 ob_px_admission 报错 out of px worker resource](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209995)

  #### 说明

  该错误码在 V4.0.0 版本开始进行了修改，错误信息由 `ERROR 5307 (HY000) : Scheduler thread number is not enough ` 调整为 `ERROR 5307 (HY000) : Not enough thread resource to execute the query. Require setting parallel_servers_target to a value no less than %ld for this query `。

## ERROR 5309 (HY000) : Ignore sql in restore process

- OceanBase 错误码：5309
 - 错误原因：逻辑恢复的时候需要跳过特定的 SQL。
 - 解决方式：无需处理。

## ERROR 5311 (HY000) : Invalid column id for %.*s

- OceanBase 错误码：5311
 - 错误原因：无效的列 `ID`。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5312 (HY000) : Duplicated ddl id '%.*s'

- OceanBase 错误码：5312
 - 错误原因：重复的 DDL `ID`。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5319 (HY000) : Child column \'%.*s\' data length cannot be less than parent column \'%.*s\' data length

- OceanBase 错误码：5319
 - 错误原因：外键字段的长度不能小于被引用字段的长度。
 - 解决方式：调整相关字段长度。

## ERROR 5320 (HY000) : \'%.*s\': used in a foreign key constraint

- OceanBase 错误码：5320
 - 错误原因：字段在外键约束中被使用。
 - 解决方式：不能操作该字段。

## ERROR 5325 (HY000) : ORDER SIBLINGS BY clause not allowed here

- OceanBase 错误码：5325
 - 错误原因：`ORDER SIBLINGS BY` 出现在错误的位置。
 - 解决方式：`ORDER SIBLINGS BY` 只能出现在层次查询语句中。

## ERROR 5326 (HY000) : when using SYS_CONNECT_BY_PATH function, cannot have separator as part of column value

- OceanBase 错误码：5326
 - 错误原因：列值中包含了 `SYS_CONNECT_BY_PATH` 函数用于分隔列值的字符串。
 - 解决方式：为 `SYS_CONNECT_BY_PATH` 函数指定一个其他分隔符，需要确保该分隔符未包含在任何列值中，然后重试操作。

## ERROR 5327 (HY000) : Database can not be specified in public synonym

- OceanBase 错误码：5327
 - 错误原因：对于公共同义词，使用时指定了 DATABASE。
 - 解决方式：对于公共同义词的使用，不需要执行 DATABASE。

## ERROR 5328 (HY000) : Looping chain of synonyms

- OceanBase 错误码：5328
 - 错误原因：创建了循环依赖的同义词。
 - 解决方式：检查循环依赖的同义词，并创建不同名称的同义词，以解除循环依赖。

## ERROR 5329 (HY000) : Cannot create a synonym with same name as object

- OceanBase 错误码：5329
 - 错误原因：同义词名称与对象名称相同。
 - 解决方式：创建与对象名称不同的同义词。

## ERROR 5330 (HY000) : Synonym %s translation is no longer valid

- OceanBase 错误码：5330
 - 错误原因：同义词对应的对象不存在。
 - 解决方式：创建同义词依赖的对象。

## ERROR 5331 (HY000) : name is already used by an existing object

- OceanBase 错误码：5331
 - 错误原因：对象已存在。
 - 解决方式：PL 涉及的对象已存在，不允许重复创建。

## ERROR 5337 (HY000) : rowid is wrong

- OceanBase 错误码：5337
 - 错误原因：从 `ROWID` 中解析的内容不符合预期。
 - 解决方式：传递合理的 `ROWID`。

## ERROR 5338 (HY000) : Window Function not allowed here

- OceanBase 错误码：5338
 - 错误原因：SQL 中某个表达式出现了窗口函数。
 - 解决方式：在 SQL 中对应的表达式中移除窗口函数。

## ERROR 5339 (HY000) : Fail to parse list partition

- OceanBase 错误码：5339
 - 错误原因：LIST 分区定义中，分区个数定义和分区指定子句不匹配。
 - 解决方式：修改分区个数定义。

## ERROR 5341 (HY000) : timezone region ID is invalid

- OceanBase 错误码：5341
 - 错误原因：无法解析 `TIMESTAMP` 数据中记录的 `Region ID`。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5342 (HY000) : invalid hex number

- OceanBase 错误码：5342
 - 错误原因：非法的十六进制。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5343 (42000) : wrong number or types of arguments in call to '%.*s'

- OceanBase 错误码：5343
 - 错误原因：参数列表错误。
 - 解决方式：检查参数列表。

## ERROR 5345 (HY000) : insufficient parallel query worker available

- OceanBase 错误码：5345
 - 错误原因：PX 线程不足。
 - 解决方式：增大 PX 线程数。

## ERROR 5346 (HY000) : FOR UPDATE of this query expression is not allowed

- OceanBase 错误码：5346
 - 错误原因：`FOR UPDATE` 子句中指定了一个非法的表达式。
 - 解决方式：修改 `FOR UPDATE` 语法。

## ERROR 5347 (HY000) : argument should be a function of expressions in PARTITION BY

- OceanBase 错误码：5347
 - 错误原因：解析错误。
 - 解决方式：修改 SQL。

## ERROR 5348 (HY000) : result of string concatenation is too long

- OceanBase 错误码：5348
 - 错误原因：`WM_CONCAT` 的拼接字符较长。
 - 解决方式：确认拼接之后的长度是否超过 `group_concat_max_len`，如果超过，调大`group_concat_max_len`。

  #### 说明

  有关该系统变量的详细信息，请参见 OceanBase 数据库官方文档的《 参考指南（MySQL 模式）》中的系统变量章节。

## ERROR 5350 (HY000) : updating partition key column would cause a partition change

- OceanBase 错误码：5350
 - 错误原因：`UPDATE` 操作导致行所在分区发生变化。
 - 解决方式：使用 `ALTER TABLE` 语句开启表的 `ENABLE ROW MOVEMENT` 属性。

## ERROR 5351 (HY000) : invalid type given for an argument

- OceanBase 错误码：5351
 - 错误原因：参数类型错误。
 - 解决方式：检查参数类型。

## ERROR 5352 (HY000) : specified field not found in datetime or interval

- OceanBase 错误码：5352
 - 错误原因：时区转换发现错误数据。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5360 (HY000) : insufficient privileges

- OceanBase 错误码：5360
 - 错误原因：权限不足。
 - 解决方式：赋予相应的权限。

相关问题案例：

- [创建表失败，错误代码 5360/ORA-01031](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000001004)

## ERROR 5361 (HY000) : user %.*s lacks CREATE SESSION privilege; logon denied

- OceanBase 错误码：5361
 - 错误原因：用户没有登录权限。
 - 解决方式：授予用户登录权限。

## ERROR 5363 (HY000) : system privileges not granted to '%.*s'

- OceanBase 错误码：5363
 - 错误原因：未授予用户系统权限。
 - 解决方式：授予用户相应的系统权限。

## ERROR 5364 (HY000) : only SELECT and ALTER privileges are valid for sequences

- OceanBase 错误码：5364
 - 错误原因：给 SEQUENCE 对象授予了除 `SELECT`，`ALTER` 以外的权限。
 - 解决方式：不要将除 `SELECT`，`ALTER` 以外的权限授予 SEQUENCE 对象。

## ERROR 5365 (HY000) : EXECUTE privilege not allowed for tables

- OceanBase错误码：5365
 - 错误原因：给表授予了 `EXECUTE` 权限。
 - 解决方式：不要将 `EXECUTE` 权限授予表。

## ERROR 5366 (HY000) : only EXECUTE and DEBUG privileges are valid for procedures

- OceanBase 错误码：5366
 - 错误原因：给 PROCEDURE 对象授予了除 `EXECUTE`，`DEBUG` 以外其他的权限。
 - 解决方式：不要将除 `EXECUTE`，`DEBUG` 以外其他的权限授予 PROCEDURE 对象。

## ERROR 5367 (HY000) : only EXECUTE, DEBUG, and UNDER privileges are valid for types

- OceanBase错误码：5367
 - 错误原因：给 TYPE 对象授予了除 `EXECUTE`，`DEBUG`，`UNDER` 以外其他的权限。
 - 解决方式：不要将除 `EXECUTE`，`DEBUG`，`UNDER` 以外其他的权限授予 TYPE 对象。

## ERROR 5368 (HY000) : ADMIN option not granted for role '%.*s'

- OceanBase 错误码：5368
 - 错误原因：角色没有相应的 ADMIN 选项。
 - 解决方式：给用户的角色授予 ADMIN 选项。

## ERROR 5369 (HY000) : user or role '%.*s' does not exist

- OceanBase 错误码：5369
 - 错误原因：用户不存在。
 - 解决方式：确认用户名是否写错，若错误，修改为正确的用户名；若正确，创建需要的用户名。

## ERROR 5370 (HY000) : missing ON keyword

- OceanBase错误码：5370
 - 错误原因：缺少 `ON` 关键字。
 - 解决方式：增加 `ON`。

## ERROR 5371 (HY000) : grant option does not exist for '%.*s.%.*s'

- OceanBase 错误码：5371
 - 错误原因：用户没有相应的转授权限。
 - 解决方式：增加相应的转授权限。

## ERROR 5372 (HY000) : ALTER, INDEX and EXECUTE not allowed for views

- OceanBase 错误码：5372
 - 错误原因：给 VIEW 对象授予 `ALTER`，`INDEX`，`EXECUTE` 权限。
 - 解决方式：不要将 `ALTER`、`INDEX`、或 `EXECUTE` 权限授予 VIEW 对象。

## ERROR 5373 (HY000) : circular role grant detected

- OceanBase 错误码：5373
 - 错误原因：角色产生了环形授权。
 - 解决方式：不对角色进行环形授权。

## ERROR 5374 (HY000) : invalid privilege on directories

- OceanBase 错误码：5374
 - 错误原因：目录对象上，授予了错误的权限。
 - 解决方式：授予正确的操作目录对象的权限。

## ERROR 5375 (HY000) : directory access denied

- OceanBase错误码：5375
 - 错误原因：用户没有操作该目录的权限。
 - 解决方式：如果需要访问该目录，请联系系统管理员授予用户操作该目录的权限。

## ERROR 5376 (HY000) : missing or invalid role name

- OceanBase 错误码：5376
 - 错误原因：错误的角色名。
 - 解决方式：更正角色名。

## ERROR 5377 (HY000) : role '%.*s' not granted or does not exist

- OceanBase 错误码：5377
 - 错误原因：角色未授予，或者不存在。

## ERROR 5378 (HY000) : DEFAULT ROLE '%.*s' not granted to user

- OceanBase 错误码：5378
 - 错误原因：缺省的角色没有授予用户。
 - 解决方式：授予用户缺省的角色。

## ERROR 5379 (HY000) : ROLE '%.*s' not granted to '%.*s'

- OceanBase 错误码：5379
 - 错误原因：撤销用户的角色时，发现角色未授予用户。

## ERROR 5380 (HY000) : cannot GRANT to a role WITH GRANT OPTION

- OceanBase 错误码：5380
 - 错误原因：用户转授角色时，发现没有转授权限。
 - 解决方式：给用户增加转授权限。

## ERROR 5381 (HY000) : duplicate username in list

- OceanBase 错误码：5381
 - 错误原因：`GRANT` 语句中，有重复的用户。
 - 解决方式：删除多余的用户。

## ERROR 5382 (HY000) : cannot grant %.*s to a role

- OceanBase 错误码：5382
 - 错误原因：不能将 `REFERENCE` 或 `INDEX` 权限授予角色。
 - 解决方式：删除授予角色的 `REFERENCE` 或 `INDEX` 权限。

## ERROR 5383 (HY000) : CASCADE CONSTRAINTS must be specified to perform this revoke

- OceanBase 错误码：5383
 - 错误原因：`REVOKE` 语句中，必须指定 `CASCADE CONSTRAINTS`。
 - 解决方式：指定 `CASCADE CONSTRAINTS`。

## ERROR 5384 (HY000) : you may not GRANT/REVOKE privileges to/from yourself

- OceanBase 错误码：5384
 - 错误原因：授予自己权限或回收自己的权限。
 - 解决方式：OceanBase 数据库不支持用户为自己授权或者回收自己的权限。如果需要修改自己的权限，可以联系系统管理员进行相关操作。

## ERROR 5386 (HY000) : Unable to read data -* Table definition has changed

- OceanBase 错误码：5386
 - 兼容 MySQL 错误码：1412
 - 错误原因：表的定义发生过变化，读取的快照点过久导致无法正确读取或解析。
 - 解决方式：检查表的定义是否发生了变化，确认是否存在列的添加或删除、数据类型或长度的修改等情况。

#### 说明

该错误码从 V4.2.0 版本开始引入。

## ERROR 5401 (HY000) : resultant data type of virtual column is not supported

- OceanBase 错误码：5401
 - 错误原因：生成列不能引用大对象类型。
 - 解决方法：去掉大对象类型。

## ERROR 5403 (HY000) : ddl schema version not match

- OceanBase 错误码：5403
 - 错误原因：并发 DDL 冲突。
 - 解决方法：重新执行该 DDL。

#### 说明

该错误码从 V4.0.0 版本开始引入。

## ERROR 5409 (HY000) : Duplicate object name exists, schema refreshing may be hung

- OceanBase 错误码：5409
 - 错误原因：DDL 线程运行时出现同名对象。
 - 解决方式：请联系技术支持人员协助排查。

#### 说明

该错误码从 V4.1.0 版本开始引入。

## ERROR 5410 (HY000) : Refresh schema failed continuously, ddl may be hung

- OceanBase 错误码：5410
 - 错误原因：DDL 线程 Hung 住，无法接收新的 DDL 请求。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5434 (HY000) : retry sql due to spm

- OceanBase 错误码：5434
 - 错误原因：因 SPM 功能需要自动重试 SQL。
 - 解决方法：请联系技术支持人员协助排查。

## ERROR 5435 (HY000) : outline not reproducible

- OceanBase 错误码：5435
 - 错误原因：无法复现 Outline 指定的计划。
 - 解决方法：请联系技术支持人员协助排查。

## ERROR 5436 (42000) : TIMESTAMP_TO_SCN expected timestamp argument

- OceanBase 错误码：5436
 - 错误原因：参数类型不符合预期，TIMESTAMP_TO_SCN 函数传入的参数类型需要是 Timestamp 类型。
 - 解决方法：修改函数的参数。

## ERROR 5437 (42000) : SCN_TO_TIMESTAMP expected a integer number as nsec argument

- OceanBase 错误码：5437
 - 错误原因：参数类型不符合预期，SCN_TO_TIMESTAMP 函数传入的参数类型需要是整型。
 - 解决方法：修改函数的参数。

## ERROR 5500 (HY000) : Legitimacy check failed for generated columns.

- OceanBase 错误码：5500
 - 错误原因：在对生成列或函数索引的值做合法性检查时，发现已存储的值与当前环境下根据生成列或索引定义重新计算的值不同，这可能是因为使用了计算结果受到系统变量影响，或本身行为不确定的内置函数来定义生成列或索引所致。如果开启了 `_enable_defensive_check` 配置项，会防御性报错。
 - 解决方式：检查生成列和函数索引的定义，若确定是系统变量改变导致计算结果变化，删除生成列/索引并重建。若是其他情况或问题未解决，请联系技术支持人员协助排查。

## ERROR 5540 (HY000) : System variable '%.*s' is different from the old value solidified for '%.*s'(old value:%.*s).

- OceanBase 错误码：5540
 - 错误原因：当前会话中设置的系统变量值与用于创建函数索引或生成列时固定的值不同。在进行计算时，函数索引或生成列将使用当初创建它们时固定的值，而非会话中当前的变量值。
 - 解决方法：如需要按当前会话上系统变量取值计算，请删除并重新创建生成列或函数索引。

#### 说明

该错误码从 V4.2.2 版本开始引入。

## ERROR 5558 (42000) : %s \'%.*s.%.*s\' already exists

- OceanBase 错误码：5558
 - 错误原因：待创建的 PACKAGE 已存在。
 - 解决方式：可以使用 `CREATE [OR REPLACE]` 语句进行创建。执行创建后，之前已经存在的同名 PACKAGE 会被覆盖。

## ERROR 5559 (42000) : %s \'%.*s.%.*s\' does not exist

- OceanBase 错误码：5559
 - 错误原因：访问的 PACKAGE 不存在。
 - 解决方式：检查逻辑是否正确。

相关问题案例：

- [含同义词的包体编译报错 -5559](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209967)

## ERROR 5561 (HY000) : Invalid use of window function

- OceanBase 错误码：5561
 - 错误原因：非法的窗口函数的使用，比如不合理的参数设置等。
 - 解决方式：修改窗口使其为正确的窗口函数。

## ERROR 5562 (HY000) : Duplicate constraint name '%.*s'

- OceanBase 错误码：5562
 - 错误原因：约束名已存在。
 - 解决方式：更换约束名。

## ERROR 5563 (HY000) : Constraint not found

- OceanBase 错误码：5563
 - 错误原因：要操作的约束不存在。
 - 解决方式：检查约束名是否正确。

## ERROR 5564 (HY000) : Duplicate alter index operations on column \'%.*s\'

- OceanBase 错误码：5564
 - 错误原因：在同一条 SQL 语句中，反复对同一列进行 `ALTER INDEX` 操作。
 - 解决方式：修改 SQL 语句

## ERROR 5572 (HY000) : a partition may be split into exactly two new partitions

- OceanBase错误码：5572
 - 错误原因：`SPLIT` 分区指定的分区不是 2 个。
 - 解决方式：指定分区分裂为 2。

## ERROR 5573 (HY000) : this physical attribute may not be specified for a table partition

- OceanBase 错误码：5573
 - 错误原因：分区分裂时，分裂点不支持最大值。
 - 解决方式：修复分裂点。

## ERROR 5574 (HY000) : missing VALUES keyword

- OceanBase 错误码：5574
 - 错误原因：语法错误。
 - 解决方式：增加 `VALUES` 关键字。

## ERROR 5575 (HY000) : missing AT or VALUES keyword

- OceanBase 错误码：5575
 - 错误原因：语法错误。
 - 解决方式：增加 `AT` 或者 `VALUES` 关键字。

## ERROR 5578 (HY000) : Plan cache lock conflict

- OceanBase 错误码：5578
 - 错误原因：计划缓存加锁失败。
 - 解决方式：请重试。

## ERROR 5597 (HY000) : last resulting partition cannot contain bounds

- OceanBase 错误码：5597
 - 错误原因：分裂前后，分区范围不一致。
 - 解决方式：修改 SQL 语句。

## ERROR 5598 (HY000) : cannot add partition when DEFAULT partition exists

- OceanBase 错误码：5598
 - 错误原因：LIST 分区已经存在默认分区，不能继续新增分区。
 - 解决方式：不要新增分区，使用分裂分区的方式新增分区。

## ERROR 5599 (HY000) : cannot split partition into one partition, use rename instead

- OceanBase 错误码：5599
 - 错误原因：分裂目的端只有一个的时候，不允许分裂。

## ERROR 5600 (HY000) : can not create user %s in sys tenant, name %.*s

- OceanBase 错误码：5600
 - 错误原因：不能在 sys 租户中创建用户。

## ERROR 5601 (HY000) : Percentage should between 1 and 99

- OceanBase 错误码：5601
 - 错误原因：解析错误。
 - 解决方式：修改 SQL。

## ERROR 5603 (0A000) : Attempt to create, alter or drop an index on temporary table already in use

- OceanBase 错误码：5603
 - 错误原因：在正在使用的临时表上创建、修改或删除索引。
 - 解决方式：断开所有使用临时表的 Session 链接，之后再进行操作。

## ERROR 5604 (HY000) : invalid NLS parameter string used in SQL function

- OceanBase错误码：5604
 - 错误原因：时间类型参数错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5605 (HY000) : datetime/interval precision is out of range

- OceanBase 错误码：5605
 - 错误原因：时间类型精度超限。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5606 (42000) : Invalid number format model

- OceanBase 错误码：5606
 - 错误原因：数字格式错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5607 (HY000) : SQL command not properly ended

- OceanBase 错误码：5607
 - 错误原因：命令未正常结束。
 - 解决方式：检查命令合法性。

## ERROR 5608 (42000) : invalid number format model

- OceanBase 错误码：5608
 - 错误原因：数字格式错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5613 (HY000) : too many values

- OceanBase 错误码：5613
 - 错误原因：语句中指定的值过多，常见于 `INSERT` 语句。
 - 解决方式：调整值的个数，或联系技术支持人员协助排查。

## ERROR 5614 (HY000) : not enough values

- OceanBase 错误码：5614
 - 错误原因：语句中指定的值不够，常见于 `INSERT` 语句。
 - 解决方式：调整值的个数，或联系技术支持人员协助排查。

## ERROR 5615 (HY000) : single-row subquery returns more than one row

- OceanBase 错误码：5615
 - 错误原因：Scalar 子查询表达式出错，预期返回一行，实际返回多行。
 - 解决方式：检查 Scalar 子查询表达式，确保每次执行只返回一行结果集。

## ERROR 5616 (HY000) : UPDATE ... SET expression must be a subquery

- OceanBase 错误码：5616
 - 错误原因：在 rowset assignment 场景下，`UPDATE` 语句的 `SET` 子句必须指定为一个 `subquery`。
 - 解决方式：调整 `UPDATE` 的 `SET`子句语法或联系技术支持人员协助排查。

## ERROR 5617 (HY000) : inappropriate INTO

- OceanBase错误码：5617
 - 错误原因：`INTO` 子句使用方式不对。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5619 (HY000) : Column part of using clause can not have qualifier

- OceanBase 错误码：5619
 - 错误原因：`USING` 子句中出现的列名不能包含 `database name` 或者 `table name`。
 - 解决方式：去掉 `USING` 子句中的列名中的 `database name` 或者 `table name`。

## ERROR 5623 (HY000) : outer join operator (+) not allowed in operand of OR or IN

- OceanBase 错误码：5623
 - 错误原因：`OR` 子句中出现了外联接。
 - 解决方式：修改 SQL 语句。

## ERROR 5624 (HY000) : a column may not be outer-joined to a subquery

- OceanBase 错误码：5624
 - 错误原因：`+` 外联接中的列不能外部联接到子查询。
 - 解决方式：修改 SQL 语句。

## ERROR 5625 (HY000) : old style outer join (+) cannot be used with ANSI joins

- OceanBase 错误码：5625
 - 错误原因：当查询块使用 ANSI 样式联接时，不能使用用于指定外部联接（+）的旧表示法。
 - 解决方式：修改 SQL 语句。

## ERROR 5626 (HY000) : outer join operator (+) is not allowed here

- OceanBase 错误码：5626
 - 错误原因：尝试在 `select_list`、`CONNECT BY` 子句、`START WITH` 子句或 `ORDER BY` 子句中引用 (+)。
 - 解决方式：修改 SQL 语句。

## ERROR 5627 (HY000) : Schema try again

- OceanBase 错误码：5627
 - 错误原因：本地 Schema 版本落后。
 - 解决方式：重试或者联系支持技术人员协助排查。

## ERROR 5628 (HY000) : zero-length columns are not allowed

- OceanBase 错误码：5628
 - 错误原因：列数据长度为 0。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5629 (HY000) : year conflicts with Julian date

- OceanBase 错误码：5629
 - 错误原因：年与儒略日冲突。如 `SELECT TO_DATE('2021-03-23 2459063', 'YYYY MM DD J') FROM DUAL;`。

## ERROR 5630 (HY000) : day of year conflicts with Julian date

- OceanBase 错误码：5630
 - 错误原因：年度中的日（1 - 366）与儒略日期冲突。

## ERROR 5631 (HY000) : month conflicts with Julian date

- OceanBase 错误码：5631
 - 错误原因：月与儒略日冲突。如 `SELECT TO_DATE('11 2459063','MM J') FROM DUAL;`。

## ERROR 5632 (HY000) : day of month conflicts with Julian date

- OceanBase 错误码：5632
 - 错误原因：月份中的日（1 - 31）与儒略日期冲突。如 `SELECT TO_DATE('11 2459063','DD J') FROM DUAL;`。

## ERROR 5633 (HY000) : day of week conflicts with Julian date

- OceanBase 错误码：5633
 - 错误原因：星期中的日（1 - 7）与儒略日冲突。如 `SELECT TO_DATE('3 2459063','D J') FROM DUAL;`。

## ERROR 5634 (HY000) : hour conflicts with seconds in day

- OceanBase 错误码：5634
 - 错误原因：小时与天中的秒冲突。

## ERROR 5635 (HY000) : minutes of hour conflicts with seconds in day

- OceanBase 错误码：5635
 - 错误原因：小时中的分钟与天中的秒冲突。

## ERROR 5636 (HY000) : seconds of minute conflicts with seconds in day

- OceanBase 错误码：5636
 - 错误原因：分钟中的秒与天中的秒冲突。

## ERROR 5637 (HY000) : date not valid for month specified

- OceanBase 错误码：5637
 - 错误原因：日期对指定的月份无效。

## ERROR 5638 (HY000) : input value not long enough for date format

- OceanBase 错误码：5638
 - 错误原因：输入值不够长，无法用于日期格式。

## ERROR 5639 (HY000) : (full) year must be between -4713 and +9999, and not be 0

- OceanBase 错误码：5639
 - 错误原因：合法日期的年份必须在 1 和 9999 之间。

## ERROR 5640 (HY000) : quarter must be between 1 and 4

- OceanBase 错误码：5640
 - 错误原因：季度的值必须在 1 和 4 之间。

## ERROR 5641 (HY000) : not a valid month

- OceanBase 错误码：5641
 - 错误原因：不是有效的月份。

相关问题案例：

- [更新表错误，错误代码 5641/ORA-01843](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000197?back=kb)

## ERROR 5642 (HY000) : not a valid day of the week

- OceanBase 错误码：5642
 - 错误原因：不是有效的天的数值。

## ERROR 5643 (HY000) : day of year must be between 1 and 365 (366 for leap year)

- OceanBase 错误码：5643
 - 错误原因：年份中的天的数值必须介于 1 和 365 之间（闰年为 366)。

## ERROR 5644 (HY000) : hour must be between 1 and 12

- OceanBase 错误码：5644
 - 错误原因：小时必须介于 1 和 12 之间。

## ERROR 5645 (HY000) : hour must be between 0 and 23

- OceanBase 错误码：5645
 - 错误原因：小时必须介于 0 和 23 之间。

## ERROR 5646 (HY000) : minutes must be between 0 and 59

- OceanBase 错误码：5646
 - 错误原因：分钟必须介于 0 和 59 之间。

## ERROR 5647 (HY000) : seconds must be between 0 and 59

- OceanBase 错误码：5647
 - 错误原因：秒数必须介于 0 和 59 之间。

## ERROR 5648 (HY000) : seconds in day must be between 0 and 86399

- OceanBase 错误码：5648
 - 错误原因：一天中的秒数必须介于 0 和 86399 之间。

## ERROR 5649 (HY000) : julian date must be between 1 and 5373484

- OceanBase 错误码：5649
 - 错误原因：输入了无效的儒略日。
 - 解决方式：输入的儒略日应该介于 1 和 5373484 之间。

## ERROR 5650 (HY000) : AM/A.M. or PM/P.M. required

- OceanBase 错误码：5650
 - 错误原因：需指定 `AM`、`A.M.`、`PM` 或 `P.M.` 日期时间格式。

- OceanBase 错误码：5651
 - 错误原因：需指定 `BC`、`B.C.`、`AD` 或 `A.D.` 日期时间格式。

## ERROR 5652 (HY000) : format code appears twice

- OceanBase 错误码：5652
 - 错误原因：输入的 format model 错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5653 (HY000) : day of week may only be specified once

- OceanBase 错误码：5653
 - 错误原因：星期只能指定一次。

- OceanBase 错误码：5654
 - 错误原因：有符号的日期无法同时包含 `BC` 或 `AD`。

## ERROR 5655 (HY000) : Julian date precludes use of day of year

- OceanBase 错误码：5655
 - 错误原因：儒略日与年度中的日不能同时使用。

## ERROR 5656 (HY000) : year may only be specified once

- OceanBase 错误码：5656
 - 错误原因：年只能指定一次。

## ERROR 5657 (HY000) : hour may only be specified once

- OceanBase 错误码：5657
 - 错误原因：小时只能指定一次。

## ERROR 5658 (HY000) : AM/PM conflicts with use of A.M./P.M

- OceanBase 错误码：5658
 - 错误原因：`AM` 或 `PM` 与 对应的 `A.M.` 或 `P.M .`冲突。

- OceanBase 错误码：5659
 - 错误原因：`BC` 或 `AD` 与 对应的 `B.C.` 或 `A.D.` 冲突。

## ERROR 5660 (HY000) : month may only be specified once

- OceanBase 错误码：5660
 - 错误原因：月份只能指定一次。

## ERROR 5661 (HY000) : day of week may only be specified once

- OceanBase 错误码：5661
 - 错误原因：星期中的天只能指定一次。

## ERROR 5662 (HY000) : format code cannot appear in date input format

- OceanBase错误码：5662
 - 错误原因：format model 有误。
 - 解决方式：查看 number format model 是否符合语法要求。

## ERROR 5663 (HY000) : a non-numeric character was found where a numeric was expected

- OceanBase 错误码：5663
 - 错误原因：非法数字字符。
 - 解决方式：查看 SQL 语句的数字是否有非法字符。

## ERROR 5664 (HY000) : 'HH24' precludes use of meridian indicator

- OceanBase 错误码：5664
 - 错误原因：format model H24 出现 `AM`，`PM` 相关字符。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5665 (HY000) : missing or illegal character following the escape character

- OceanBase 错误码：5665
 - 错误原因：`LIKE` 查询语句的 `ESCAPE` 字段后面的字符是非法字符。
 - 解决方式：查看 SQL 中 `LIKE` 语句的 `ESCAPE` 字段后面的字符是否符合要求。

## ERROR 5666 (HY000) : escape character must be character string of length 1

- OceanBase 错误码：5666
 - 错误原因：`LIKE` 计算时，`ESCAPE` 字段后面的字符不是单字符。
 - 解决方式：指定`ESCAPE` 字段后面的字符为单字符。

## ERROR 5667 (HY000) : day of month must be between 1 and last day of month

- OceanBase 错误码：5667
 - 错误原因：每月中的天的数值必须介于 1 和每个月的最后一天之间。

## ERROR 5668 (HY000) : not a SELECTed expression

- OceanBase 错误码：5668
 - 错误原因：`GROUP BY` 子句中指定了一个表达式，但该表达式未出现在 `SELECT` 子句中。
 - 解决方式：修改 SQL 的语法。

## ERROR 5670 (HY000) : (full) year must be between -4713 and +9999, and not be 0

- OceanBase 错误码：5670
 - 错误原因：合法日期的年份必须在 1 和 9999 之间。

## ERROR 5671 (HY000) : such unique or primary key already exists in the table

- OceanBase 错误码：5671
 - 错误原因：唯一索引已存在。
 - 解决方式：不允许重复创建唯一索引。

## ERROR 5672 (HY000) : such column list already indexed

- OceanBase 错误码：5672
 - 错误原因：重复创建索引。
 - 解决方式：不允许重复创建索引。

## ERROR 5674 (HY000) : argument '%ld' is out of range

- OceanBase 错误码：5674
 - 错误原因：指定参数超出范围。
 - 解决方式：调整参数值 **。**

## ERROR 5675 (HY000) : ORDER BY item must be the number of a SELECT-list expression

- OceanBase 错误码：5675
 - 错误原因：`ORDER BY` 项不是 `SELECT` 项的正确编号。
 - 解决方式：调整 SQL 的 `ORDER BY` 子句。

## ERROR 5676 (HY000) : the interval is invalid

- OceanBase 错误码：5676
 - 错误原因：参数非法。
 - 解决方式：请联系技术支持人员协助排查。

相关问题案例：

- [执行查询 JSON SQL 报错 the interval is invalid](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000045546)

## ERROR 5677 (HY000) : PL/SQL: numeric or value error: %.*s

- OceanBase 错误码：5677
 - 错误原因：PL 执行过程中遇到了非法的数字或其他类型的数据。
 - 解决方式：检查逻辑是否正确。

## ERROR 5678 (HY000) : name already used by an existing constraint

- OceanBase 错误码：5678
 - 错误原因：约束名已存在。
 - 解决方式：更换约束名。

## ERROR 5679 (HY000) : table must have at least one column that is not invisible

- OceanBase 错误码：5679
 - 兼容 MySQL 错误码：4028
 - 错误原因：函数索引会向表中添加隐藏列，在表中有隐藏列的情况下，删除表中所有的可见列（visible column）时返回该错误。
 - 解决方式：检查数据表的列定义和元数据，确认在完成删除操作后，至少有一列是可见列。

## ERROR 5680 (HY000) : Invisible column is not supported on this type of table

- OceanBase 错误码：5680
 - 错误原因：Oracle 临时表不支持将列定义为 `INVISIBLE`。

## ERROR 5681 (HY000) : Column visibility modifications cannot be combined with any other modified column DDL option

- OceanBase 错误码：5681
 - 错误原因：DDL 语句不支持同时调整列可见性及其他列属性。
 - 解决方式：拆分 DDL 语句以单独调整列可见性。

## ERROR 5682 (HY000) : The visibility of a column from a table owned by a SYS user cannot be changed

- OceanBase 错误码：5682
 - 错误原因：SYS 用户下的表不允许调整列可见性。

## ERROR 5683 (HY000) : too many arguments for function

- OceanBase 错误码：5683
 - 错误原因：函数参数过多。
 - 解决方式：调整参数个数。

## ERROR 5684 (HY000) : PX sql need retry

- OceanBase 错误码：5684
 - 错误原因：内部错误码。通知 PX 重试 SQL。
 - 解决方式：一般情况不会出现该错误。如果遇到该错误，请检查系统切主、网络状态是否正常。

## ERROR 5685 (HY000) : Tenant '(string)' has been dropped

- OceanBase 错误码：5685
 - 错误原因：租户已被删除。
 - 解决方式：内部错误码，请联系技术支持人员协助排查。

## ERROR 5686 (HY000) : invalid extract field for extract source

- OceanBase 错误码：5686
 - 错误原因：`EXTRACT` 函数无法解析指定值域。
 - 解决方式：检查指定值域是否合法。

## ERROR 5687 (42000) : %s \'%.*s.%.*s\' compile error

- OceanBase 错误码：5687
 - 错误原因：PACKAGE 或 UDT 编译失败。
 - 解决方式：根据报错信息提示修改错误。

## ERROR 5690 (HY000) : subquery not allowed here

- OceanBase 错误码：5690
 - 错误原因：此位置不允许出现 Subquery。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5691 (HY000) : date or system variable wrongly specified in CHECK constraint

- OceanBase 错误码：5691
 - 错误原因：`CHECK` 约束不允许出现 `DATE` 函数或系统变量。

## ERROR 5692 (HY000) : Cannot drop constraint - nonexistent constraint

- OceanBase 错误码：5692
 - 错误原因：约束不存在。

## ERROR 5693 (HY000) : check constraint violated

- OceanBase 错误码：5693
 - 错误原因：不满足 `CHECK` 约束。
 - 解决方式：排查 DML 涉及的列数据是否满足已有 `CHECK` 约束。

## ERROR 5694 (HY000) : group function is not allowed here

- OceanBase 错误码：5694
 - 错误原因：在非法的位置写了聚合函数。
 - 解决方式：调整 SQL 中的聚合函数。

## ERROR 5695 (HY000) : policy string not found

- OceanBase 错误码：5695
 - 错误原因：未找到安全策略。
 - 解决方式：创建安全策略。

## ERROR 5696 (HY000) : invalid label string

- OceanBase 错误码：5696
 - 错误原因：非法的标签字符串。
 - 解决方式：指定合法的标签字符串。

## ERROR 5697 (HY000) : undefined compartment string for policy string

- OceanBase 错误码：5697
 - 错误原因：非法的 Compartment 字符串。
 - 解决方式：指定合法的 Compartment 字符串。

## ERROR 5698 (HY000) : undefined level string for policy string

- OceanBase 错误码：5698
 - 错误原因：非法的 Level 字符串。
 - 解决方式：指定合法的 Level 字符串。

## ERROR 5699 (HY000) : undefined group string for policy string

- OceanBase 错误码：5699
 - 错误原因：非法的 Group 字符串。
 - 解决方式：指定合法的 Group 字符串。

## ERROR 5700 (HY000) : LBAC error: %s

- OceanBase 错误码：5700
 - 错误原因：通用的标签安全报错，详见具体错误信息。
 - 解决方式：根据报错信息，修改相应的操作。

## ERROR 5701 (HY000) : policy role already exists for policy string

- OceanBase 错误码：5701
 - 错误原因：已存在该策略名称。
 - 解决方式：检查并更正策略名称或删除现有策略。

## ERROR 5702 (HY000) : NULL or invalid user label: %s

- OceanBase 错误码：5702
 - 错误原因：非法的用户标签。
 - 解决方式：指定正确的用户标签。

## ERROR 5703 (HY000) : Add index failed

- OceanBase 错误码：5703
 - 错误原因：增加索引时失败。
 - 解决方式：尝试查看索引是否有效，可以先删除再创建。

相关问题案例：

- [创建索引失败，错误代码 5703](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000001012?back=kb)
 - [Work Area 内存不足导致创建索引失败](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000225632)

## ERROR 5704 (HY000) : profile %.*s does not exist

- OceanBase 错误码：5704
 - 错误原因：Profile 名称错误。
 - 解决方式：检查 Profile 名称。

## ERROR 5705 (HY000) : invalid resource limit %s

- OceanBase 错误码：5705
 - 错误原因：Profile 相关 DDL中，指定的 `FAILED_LOGIN_ATTEMPTS`、`PASSWORD_LOCK_TIME` 不是合法的 INT 类型，或者值为 `0`。
 - 解决方式：调整 Profile 中相关 DDL 的参数值。

## ERROR 5706 (HY000) : profile %.*s already exists

- OceanBase 错误码：5706
 - 错误原因：Profile 已经存在。
 - 解决方式：更换 Profile 名称 **。**

## ERROR 5707 (HY000) : profile %.*s has users assigned, cannot drop without CASCADE

- OceanBase 错误码：5707
 - 错误原因：Profile 有用户使用，只能级联删除。
 - 解决方式：增加 `CASCADE`。

## ERROR 5708 (HY000) : the leading precision of the interval is too small

- OceanBase 错误码：5708
 - 错误原因：精度非法。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5709 (HY000) : time zone hour must be between -12 and 14

- OceanBase 错误码：5709
 - 错误原因：设置 `time_zone` 系统变量时，小时数超出合法范围。
 - 解决方式：MySQL 模式的范围为 [-12, 14]。

## ERROR 5710 (HY000) : time zone minute must be between -59 and 59

- OceanBase 错误码：5710
 - 错误原因：设置 `time_zone` 系统变量时，分钟数超出合法范围。
 - 解决方式：合法范围为 [-59, 59]。

## ERROR 5711 (HY000) : not a valid time zone

- OceanBase 错误码：5711
 - 错误原因： `TZD`、`TZH`、`TZM` 和 `TZR` 不能出现在 `DATE` 格式中。

## ERROR 5712 (HY000) : date format is too long for internal buffer

- OceanBase 错误码：5712
 - 错误原因：`DATE` 格式长度过大。
 - 解决方式：降低 `DATE` 格式的长度。

## ERROR 5713 (HY000) : cannot validate (%.*s.%.*s) - check constraint violated

- OceanBase 错误码：5713
 - 错误原因：输入违反约束。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5714 (HY000) : data manipulation operation not legal on this view

- OceanBase 错误码：5714
 - 错误原因：尝试通过 `INSERT`、`UPDATE` 、`DELETE` 语句对不可更新的视图做修改，如生成列，修改表达式列，数据来自多张表等。
 - 解决方式：直接修改基础表，或重新定义视图。

## ERROR 5715 (HY000) : virtual column not allowed here

- OceanBase 错误码：5715
 - 错误原因：尝试通过 `INSERT`、`DELETE`、`UPDATE` 语句对视图中的表达式做修改。
 - 解决方式：直接修改基础表。

## ERROR 5716 (HY000) : cannot modify more than one base table through a join view

- OceanBase 错误码：5716
 - 错误原因：列属于多张表，不能被插入或更新。
 - 解决方式：将语句拆分为多条。

## ERROR 5721 (HY000) : cannot delete from view without exactly one key-preserved table

- OceanBase错误码：5721
 - 错误原因：删除的表没有 key-preserved table，或有多个 key-preserved table，或该 key-preserved table 来自只读视图。
 - 解决方式：重新定义视图，或在基础表上做删除操作。

## ERROR 5722 (HY000) : cannot modify a column which maps to a non key-preserved table

- OceanBase 错误码：5722
 - 错误原因：尝试插或更新 JOIN 视图中的 non-key-preserved table。
 - 解决方式：直接修改基础表。

## ERROR 5723 (HY000) : cannot perform a DML operation on a read-only view

- OceanBase 错误码：5723
 - 错误原因：尝试通过 `INSERT`、`DELETE`、`UPDATE` 语句修改被定义为只读的视图。
 - 解决方式：直接修改基础表，或修改视图为可更新的视图。

## ERROR 5724 (HY000) : invalid INITRANS option value

- OceanBase 错误码：5724
 - 错误原因：`INITRANS` 参数值非法。
 - 解决方式：调整参数值。

## ERROR 5725 (HY000) : invalid MAXTRANS option value

- OceanBase 错误码：5725
 - 错误原因：`MAXTRANS` 参数值非法。
 - 解决方式：调整参数值。

## ERROR 5726 (HY000) : invalid value for PCTFREE or PCTUSED

- OceanBase 错误码：5726
 - 错误原因：`PCTFREE` 或 `PCTUSED` 参数值非法。
 - 解决方式：调整参数值。

## ERROR 5728 (HY000) : illegal argument for function

- OceanBase 错误码：5728
 - 错误原因：参数无效。
 - 解决方式：调整参数值。

## ERROR 5729 (HY000) : this operator cannot be used with lists

- OceanBase 错误码：5729
 - 错误原因：不支持向量比较操作。
 - 解决方式：去掉向量比较操作。

## ERROR 5730 (HY000) : SAMPLE percentage must be in the range [0.000001,100)

- OceanBase 错误码：5730
 - 错误原因：解析错误。
 - 解决方式：修改 SQL 语句。

## ERROR 5731 (HY000) : specifying owner's name of the table is not allowed

- OceanBase 错误码：5731
 - 错误原因：重命名涉及的表对象，不能携带用户名。

## ERROR 5732 (HY000) : stmt trigger with when clause

- OceanBase 错误码：5732
 - 错误原因：语句级触发器不能指定 `WHEN` 条件。
 - 解决方式：去掉语句级触发器的 `WHEN` 条件。

## ERROR 5732 (HY000) : not enough arguments for function

- OceanBase 错误码：5732
 - 错误原因：Function 参数个数不足。
 - 解决方式：补足参数。

## ERROR 5733 (HY000) : trigger '%.*s' does not exist

- OceanBase 错误码：5733
 - 错误原因：指定触发器不存在。
 - 解决方式：确认指定触发器是否存在。

## ERROR 5734 (HY000) : trigger '%.*s' already exist

- OceanBase 错误码：5734
 - 错误原因：指定触发器已存在。
 - 解决方式：确认指定触发器是否存在。

## ERROR 5735 (HY000) : trigger '%.*s' already exists on another table, cannot replace it

- OceanBase 错误码：5735
 - 错误原因：其它表上已有同名触发器，不能创建当前触发器。
 - 解决方式：将当前触发器改名后再创建。

## ERROR 5736 (HY000) : error signaled in parallel query server

- OceanBase 错误码：5736
 - 错误原因：内部错误码。PX 需要终止执行时，通过广播该错误码给所有执行节点，终止当前执行。
 - 解决方式：内部错误码。请联系技术支持人员协助排查。

## ERROR 5763 (HY000) : Specified pseudo column or operator not allowed here

- OceanBase 错误码：5763
 - 错误原因：该位置不允许使用 `LEVEL`、`PRIOR`、`ROWNUM`、`CONNECT_BY_ROOT`、`CONNECT_BY_ISLEAF` 或 `CONNECT_BY_ISCYCLE` 关键字。
 - 解决方式：删除 `LEVEL`、`PRIOR`、`ROWNUM`、`CONNECT_BY_ROOT`、`CONNECT_BY_ISLEAF` 或 `CONNECT_BY_ISCYCLE`。

## ERROR 5764 (HY000) : CONNECT BY loop in user data

- OceanBase 错误码：5764
 - 错误原因：用户数据中存在 `CONNECT BY` 循环。

## ERROR 5765 (HY000) : cannot have join with CONNECT BY

- OceanBase 错误码：5765
 - 错误原因：不能与 `CONNECT BY` 联接。

## ERROR 5766 (HY000) : CONNECT BY clause required in this query block

- OceanBase 错误码：5766
 - 错误原因：此查询块中需要 `CONNECT BY` 子句。

## ERROR 5768 (HY000) : SYS_CONNECT_BY_PATH function is not allowed here

- OceanBase 错误码：5768
 - 错误原因：`SYS_CONNECT_BY_PATH` 函数在 `SELECT` 列表和 `ORDER BY` 子句以外的位置被调用。
 - 解决方法：删除在 `SELECT` 列表和 `ORDER BY` 子句以外的位置上对 `SYS_CONNECT_BY_PATH` 函数的调用。

## ERROR 5769 (HY000) : illegal parameter in SYS_CONNECT_BY_PATH function

- OceanBase 错误码：5769
 - 错误原因：`SYS_CONNECT_BY_PATH` 函数中存在非法参数。

## ERROR 5770 (HY000) : A column value contained the string that the SYS_CONNECT_BY_PATH function was to use to separate column values

- OceanBase 错误码：5770
 - 错误原因：列值中包含了 `SYS_CONNECT_BY_PATH` 函数用于分隔列值的字符串。
 - 解决方法：为 `SYS_CONNECT_BY_PATH` 函数指定一个其他分隔符，需要确保该分隔符不包含在任何列值中。

## ERROR 5771 (HY000) : CONNECT BY ROOT operator is not supported in the START WITH or in the CONNECT BY condition

- OceanBase 错误码：5771
 - 错误原因：尝试在 `START WITH` 或 `CONNECT BY` 条件中使用 `CONNECT BY ROOT` 操作符。
 - 解决方法：从 `START WITH` 或 `CONNECT BY` 条件中删除 `CONNECT BY ROOT` 操作符。

## ERROR 5772 (HY000) : ORDER SIBLINGS BY clause not allowed here

- OceanBase 错误码：5772
 - 错误原因：指定的 `ORDER SIBLINGS BY` 子句的查询中不包含 `CONNECT BY` 子句。
 - 解决方法：删除 `ORDER SIBLINGS BY` 子句或者在查询中添加 `CONNECT BY` 子句。

## ERROR 5773 (HY000) : NOCYCLE keyword is required with CONNECT_BY_ISCYCLE pseudo column

- OceanBase 错误码：5773
 - 错误原因：在查询中指定了 `CONNECT_BY_ISCYCLE`，但是该查询不包含 `NOCYCLE` 关键字。
 - 解决方法：删除 `CONNECT_BY_ISCYCLE` 或添加 `NOCYCLE` 关键字。

## ERROR 5774 (HY000) : not enough arguments for function

- OceanBase 错误码：5774
 - 错误原因：函数的参数不足。

## ERROR 5777 (HY000) : Prepare statement checksum error

- OceanBase 错误码：5777
 - 错误原因：服务器会话处于不可恢复状态。
 - 解决方式：再次登录到 OceanBase 数据库，以便自动创建新的服务器会话。有关详细信息，请查看会话跟踪文件。

## ERROR 5778 (HY000) : cannot enable constraint (%.*s) - no such constraint

- OceanBase 错误码：5778
 - 错误原因：此表中不存在指定的约束。

## ERROR 5779 (HY000) : cannot disable constraint (%.*s) - no such constraint

- OceanBase 错误码：5779
 - 错误原因：此表中不存在指定的约束。

## ERROR 5780 (HY000) : PX DOP downgrade from %ld to %ld

- OceanBase 错误码：5780
 - 错误原因：正常退出。

## ERROR 5781 (HY000) : parallel_max_servers downgrade due to insufficent cpu resource from %ld to %ld. deprecated

- OceanBase 错误码：5781
 - 错误原因：正常退出。

  #### 说明

  当前版本，该错误码已不再使用。

## ERROR 5785 (HY000) : cannot validate (%.*s.%.*s) - parent keys not found

- OceanBase 错误码：5785
 - 错误原因：由于该表具有孤立子记录，因此更改表的操作验证约束失败。

## ERROR 5786 (HY000) : Column check constraint cannot reference other columns

- OceanBase 错误码：5786
 - 错误原因：尝试定义引用另一列的列检查约束。
 - 解决方法：定义为表检查约束。

## ERROR 5787 (HY000) : batched multi statement execution needs rollback

- OceanBase 错误码：5787
 - 错误原因：不满足 batched multi-stmt 的执行方式。
 - 解决方法：无需处理，Server 会自动回退成单条执行。

## ERROR 5788 (HY000) : cannot select FOR UPDATE from view with ISTINCT, GROUP BY, etc

- OceanBase 错误码：5788
 - 错误原因：尝试从尚未合并的视图中选择 `FOR UPDATE`。视图未合并是因为视图使用了阻止合并的语法（例如 `DISTINCT` 或 `GROUP BY`）或者由于初始化文件的参数设置。
 - 解决方法：确定视图未合并的原因并更改使视图可以合并。

## ERROR 5789 (HY000) : policy with check option violation

- OceanBase 错误码：5789
 - 错误原因：写入数据的安全标记错误。

## ERROR 5790 (HY000) : policy already applied to table

- OceanBase 错误码：5790
 - 错误原因：尝试将策略应用于已受该策略保护的表。
 - 解决方法：若要更改策略选项、谓词或标签值，请从表中删除该策略并重新应用该策略。

## ERROR 5791 (HY000) : table '%.*s'.'%.*s' is mutating, trigger/function may not see it

- OceanBase 错误码：5791
 - 错误原因：触发器（或在此语句中引用的用户定义的 `plsql` 函数）尝试查看（或修改）一张表，但是同时触发该表的语句正在修改该表。
 - 解决方法：重写触发器（或函数），以便它不读取该表。

相关问题案例：

- [DML 语句调用函数报错 table is mutating](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000210009)

## ERROR 5792 (HY000) : column is referenced in a multi-column constraint

- OceanBase 错误码：5792
 - 错误原因：尝试删除某些被约束引用的列。
 - 解决方法：删除所有引用了该列的约束或在语句中指定 `CASCADE CONSTRAINTS`。

## ERROR 5793 (HY000) : cannot drop parent key column

- OceanBase 错误码：5793
 - 错误原因：尝试删除被约束引用的父键列。
 - 解决方法：删除引用父键列的所有约束或在语句中指定 `CASCADE CONSTRAINTS`。

## ERROR 5794 (HY000) : auto increment service busy

- OceanBase 错误码：5794
 - 错误原因：内部错误码。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5795 (HY000) : No insert/update/delete on table with constraint (%.*s.%.*s) disabled and validated

- OceanBase 错误码：5795
 - 错误原因：尝试在包含 `DISABLE VALIDATE` 约束的表上进行插入、更新或删除操作。
 - 解决方法：更改约束的状态。

## ERROR 5796 (HY000) : active autonomous transaction detected and rolled back

- OceanBase 错误码：5796
 - 错误原因：在从自治 PL 块返回之前，在该块内启动的所有自治事务必须完成（提交或回滚）。如果没有，则会隐式回滚运行中的自治事务，并报该错误码。
 - 解决方法：确保从自治 PL 块返回之前，任何进行中的自治事务都显式指定或回滚。

## ERROR 5797 (HY000) : ORDER BY not allowed here

- OceanBase 错误码：5797
 - 错误原因：`DISTINCT` 函数与 `RATIO_TO_REPORT` 不能使用 `ORDER BY`。

## ERROR 5798 (HY000) : DISTINCT not allowed here

- OceanBase 错误码：5798
 - 错误原因：此函数不允许使用 `DISTINCT` 选项。

## ERROR 5799 (HY000) : assign user variable with := only allowed in select filed list and as root expression

- OceanBase 错误码：5799
 - 错误原因：使用 `:=` 对用户变量赋值时，只允许出现在 `SELECT` 中且必须是表达式的根节点。
 - 解决方式：建议不要使用 `:=` 对用户变量赋值。

## ERROR 5800 (HY000) : cannot modify constraint (%.*s) - no such constraint

- OceanBase 错误码：5800
 - 错误原因：此表不存在指定的约束。

## ERROR 5801 (HY000) : implementation restriction: exception handler in nested transaction is illegal

- OceanBase 错误码：5801
 - 错误原因：不允许在嵌套事务中捕获异常。
 - 解决方式：去掉嵌套事务中的异常捕获。

## ERROR 5802 (HY000) : invalid ROWID

- OceanBase 错误码：5802
 - 错误原因：无效的 `ROWID`。

## ERROR 5803 (HY000) : Invalid column in the INSERT VALUES Clause:'%.*s'.'%.*s'

- OceanBase 错误码：5803
 - 错误原因：`INSERT VALUES` 子句引用无效的表列。

## ERROR 5804 (HY000) : incorrect use of the ['%.*s'] operator

- OceanBase 错误码：5804
 - 错误原因：执行运算操作时遇到错误。
 - 解决方法：检查运算符的参数和返回类型。

## ERROR 5805 (HY000) : non-constant expression is not allowed for pivot|unpivot values

- OceanBase 错误码：5805
 - 错误原因：尝试对 `pivot|unpivot` 值使用非常量表达式。
 - 解决方法：对 `pivot|unpivot` 值使用常量表达式。

## ERROR 5806 (HY000) : expect aggregate function inside pivot operation

- OceanBase 错误码：5806
 - 错误原因：尝试在 `pivot` 操作中使用非聚合函数。
 - 解决方法：使用聚合函数。

## ERROR 5807 (HY000) : expression must have same datatype as corresponding expression

- OceanBase 错误码：5807
 - 错误原因：表达式必须具有与对应表达式相同的数据类型。

## ERROR 5808 (HY000) : character set mismatch

- OceanBase 错误码：5808
 - 错误原因：可能是以下情况之一：

## ERROR 5809 (HY000) : regular expression failed to match

- OceanBase 错误码：5809
 - 错误原因：正则表达式匹配失败，没有找到符合的字符串。
 - 解决方式：内部错误码。请联系技术支持人员协助排查。

## ERROR 5810 (HY000) : invalid regular expression (reg version 0.8)

- OceanBase 错误码：5810
 - 错误原因：所给出的正则表达式 `pattern` 是无效的。
 - 解决方式：调整所给出的正则表达式 `pattern`。

## ERROR 5811 (HY000) : invalid escape \\ sequence in regular expression

- OceanBase 错误码：5811
 - 错误原因：正则表达式中出现了无效的 `ESCAPE`。
 - 解决方式：去除无效的 `ESCAPE`。

## ERROR 5812 (HY000) : unmatched bracket in regular expression

- OceanBase 错误码：5812
 - 错误原因：正则表达式没有对称的方括号。
 - 解决方式：确保方括号对称。

## ERROR 5813 (HY000) : unmatched parentheses in regular expression

- OceanBase 错误码：5813
 - 错误原因：正则表达式没有对称的圆括号。
 - 解决方式：确保圆括号对称。

## ERROR 5814 (HY000) : invalid back reference in regular expression

- OceanBase 错误码：5814
 - 错误原因：在子表达式中具有反向引用。
 - 解决方式：确保引用有效的子表达式。

## ERROR 5815 (HY000) : invalid range in regular expression

- OceanBase 错误码：5815
 - 错误原因：在正则表达式中发现无效范围。
 - 解决方式：确保使用有效范围。

## ERROR 5816 (HY000) : invalid character class in regular expression

- OceanBase 错误码：5816
 - 错误原因：在正则表达式中找到了一个未知字符类。
 - 解决方式：确保使用有效的字符类。

## ERROR 5817 (HY000) : invalid collation class in regular expression

- OceanBase 错误码：5817
 - 错误原因：正则表达式中包含未知的排序规则类。
 - 解决方式：确保使用有效的排序规则类。

## ERROR 5818 (HY000) : braces {} not balanced in in regular expression

- OceanBase 错误码：5818
 - 错误原因：正则表达式中的 `{}` 不是左右完全闭合的。
 - 解决方式：修正正则表达式中的 `{}`。

## ERROR 5819 (HY000) : invalid repetition count(s) in regular expression

- OceanBase 错误码：5819
 - 错误原因：正则表达式引擎中出现了无效的重复匹配次数。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5820 (HY000) : The regular expression was too complex and current library can't be parsed

- OceanBase 错误码：5820
 - 错误原因：正则表达式太复杂，导致当前正则表达式引擎无法解析。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5821 (HY000) : regular expression internal error

- OceanBase 错误码：5821
 - 错误原因：正则表达式太复杂，导致当前正则表达式引擎无法解析。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5822 (HY000) : invalid argument in regular expression

- OceanBase 错误码：5822
 - 错误原因：正则表达式中有无效参数。
 - 解决方式：检测正则表达式中参数的 **有效性**。

## ERROR 5823 (HY000) : character widths of regex and string differ in regular expression

- OceanBase 错误码：5823
 - 错误原因：正则表达式引擎中出现了不同字符集混合的问题。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5824 (HY000) : invalid embedded option in regular expression

- OceanBase 错误码：5824
 - 错误原因：正则表达式中的 `pattern` 指定了无效的匹配参数。
 - 解决方式：修正正则表达式中的 `pattern` 匹配参数。

## ERROR 5825 (HY000) : nfa has too many states in regular expression, may be the regular expression too long

- OceanBase 错误码：5825
 - 错误原因：正则表达式引擎中转移状态机异常。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5827 (HY000) : the definition of relative objects have been modified, please check and retry

- OceanBase 错误码：5827
 - 错误原因：并发 DDL 遇到冲突。
 - 解决方式：内部错误码，请联系技术支持人员协助排查。

相关问题案例：

- [索引创建失败，错误码 5827](https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000182?back=kb)

## ERROR 5828 (HY000) : Subscript beyond count

- OceanBase 错误码：5828
 - 错误原因：下标大于 VARRAY 数组的最大长度或者对于嵌套表来说下标太大。
 - 解决方式：检查程序逻辑，并在必要时显式扩展。

## ERROR 5829 (HY000) : PARTITION () clause on non partitioned table

- OceanBase 错误码：5829
 - 错误原因：表或索引未分区。无效的语法。
 - 解决方式：使用正确的语法重试该命令。

## ERROR 5830 (HY000) : Unknown subpartition

- OceanBase 错误码：5830
 - 错误原因：未找到对象的二级分区。
 - 解决方式：使用正确的二级分区名称并重试。

## ERROR 5831 (HY000) : Invalid SQL ROW LIMITING expression was specified

- OceanBase 错误码：5831
 - 错误原因：SQL 的 `ROW LIMITING` 表达式包含文本、绑定变量、相关变量或子查询以外的组件。
 - 解决方式：修改 SQL 的 `ROW LIMITING` 表达式并重试操作。

## ERROR 5833 (HY000) : not implemented in SQL static typing engine

- OceanBase 错误码：5833
 - 错误原因：新引擎未实现该功能。
 - 解决方法：无需处理，SQL 引擎会自动重试。

## ERROR 5834 (HY000) : name is already used by an existing object

- OceanBase 错误码：5834
 - 错误原因：对象已存在。
 - 解决方式：PL 涉及的对象已存在，不允许重复创建。

## ERROR 5835 (HY000) : connection description for remote database not found

- OceanBase 错误码：5835
 - 错误原因：没有找到远程数据库的连接说明。

## ERROR 5836 (HY000) : database link not found

- OceanBase 错误码：5836
 - 错误原因：在字典中找不到要删除的数据库链接。
 - 解决方式：更正数据库链接名称。

## ERROR 5837 (HY000) : Reference to uninitialized composite

- OceanBase 错误码：5837
 - 错误原因：左侧引用了对象、`LOB` 或其他多级分区，但是对象、`LOB` 或其他多级分区未初始化。
 - 解决方式：使用适当的构造函数或全对象赋值初始化多级分区。

## ERROR 5838 (HY000) : Reference to uninitialized collection

- OceanBase 错误码：5838
 - 错误原因：引用了嵌套表或 `Varray` 的元素或 `Member` 函数，但是集合未初始化。
 - 解决方式：使用适当的构造函数或全对象赋值初始化集合。

## ERROR 5839 (HY000) : no more rows needed

- OceanBase 错误码：5839
 - 错误原因：管道函数的调用者不需要管道函数生成更多的行。
 - 解决方式：不要在异常处理块中捕获 `NO_DATA_NEEDED` 异常。

## ERROR 5840 (HY000) : PL/SQL: program error

- OceanBase 错误码：5840
 - 错误原因：这是内部错误消息。在 PL 程序中检测到错误。
 - 解决方式：内部错误码，请联系技术支持工程师协助排查。

## ERROR 5841 (HY000) : PL/SQL: Return types of Result Set variables or query do not match

- OceanBase 错误码：5841
 - 错误原因：查询中的列数或列类型与结果集变量所声明的返回类型不匹配，或者两个结果集变量所声明的类型不匹配。
 - 解决方式：更改程序语句或声明。

## ERROR 5842 (HY000) : PL/SQL: storage error

- OceanBase 错误码：5842
 - 错误原因：PL 无法分配其他存储。有时此错误可能是由失控的程序引起的。
 - 解决方式：

     1. 确保 PL 程序中没有使用额外内存的问题或错误。
     2. 通过编程方式释放未使用的对象（例如，将其设置为 `NULL`）。
     3. 增加可用的共享或进程内存量（如适用）。

## ERROR 5843 (HY000) : Subscript outside of limit

- OceanBase 错误码：5843
 - 错误原因：下标大于 `VARRAY` 的限制值，或者下标是 `VARRAY` 或嵌套表的非正值。
 - 解决方式：检查程序逻辑，如有必要，增加 `VARRAY` 限制值。

## ERROR 5844 (HY000) : invalid cursor

- OceanBase 错误码：5844
 - 错误原因：无效的游标。

## ERROR 5845 (HY000) : invalid username/password; logon denied

- OceanBase 错误码：5845
 - 错误原因：用户名/密码无效，登录被拒绝。

## ERROR 5846 (HY000) : not logged on

- OceanBase 错误码：5846
 - 错误原因：未登录。

## ERROR 5847 (HY000) : method dispatch on NULL SELF argument is disallowed

- OceanBase 错误码：5847
 - 错误原因：某种类型的 `Member` 方法被 `NULL SELF` 参数调用。
 - 解决方式：更改方法调用类型以传递有效的 `SELF` 参数。

## ERROR 5848 (HY000) : timeout occurred while waiting for a resource

- OceanBase 错误码：5848
 - 错误原因：通常由于 Dead 实例。
 - 解决方式：检查是否有 Dead 或未恢复的实例。如果有，恢复即可。

## ERROR 5849 (HY000) : column to be modified to NOT NULL is already NOT NULL

- OceanBase 错误码：5849
 - 错误原因：要修改为 `NOT NULL` 的列已为 `NOT NULL`。

## ERROR 5850 (HY000) : column to be modified to NULL cannot be modified to NULL

- OceanBase 错误码：5850
 - 错误原因：列可能已允许 `NULL` 值，`NOT NULL` 约束是主键或 `CHECK` 约束的一部分。
 - 解决方式：如果主键或 `CHECK` 约束强制实施 `NOT NULL` 约束，则删除该约束。

## ERROR 5851 (HY000) :cannot enable (%.*s.%.*s) - null values found

- OceanBase 错误码：5851
 - 错误原因：更改表的启用约束操作失败，因为该表包含的某些值不满足约束。

## ERROR 5852 (HY000) : Argument should be a constant

- OceanBase 错误码：5852
 - 错误原因：参数应为常量。

## ERROR 5853 (HY000) : not a single-group group function

- OceanBase 错误码：5853
 - 错误原因：不是单组 `Group` 函数。

## ERROR 5854 (HY000) : illegal zero-length identifier

- OceanBase 错误码：5854
 - 错误原因：非法的零长度标识符。

## ERROR 5855 (HY000) : parameter cannot be modified because specified value is invalid

- OceanBase 错误码：5855
 - 错误原因：初始化参数是支持修改的，但修改后的值不合法。
 - 解决方法：请参考 OceanBase 数据库对应版本的《参考指南》，查看该参数的取值范围。

## ERROR 5856 (HY000) : DBMS_SQL access denied

- OceanBase 错误码：5856
 - 错误原因：由于安全考虑，`DBMS_SQL` 的访问被拒绝了。
 - 解决方法：尝试从 Alert 日志和 Trace 文件中获取更多信息。

## ERROR 5857 (HY000) : not all variables bound

- OceanBase 错误码：5857
 - 错误原因：有些变量没有配置。

## ERROR 5859 (HY000) : column is referenced in a multi-column constraint

- OceanBase 错误码：5859
 - 错误原因：尝试删除某些已被约束引用的列。
 - 解决方法：删除所有引用了该列的约束或在语句中指定 `CASCADE CONSTRAINTS`。

## ERROR 5860 (HY000) : cannot modify column datatype with current constraint(s)

- OceanBase 错误码：5860
 - SQLSTATE：HY000
 - 错误原因：尝试修改 `CHECK` 约束的列的数据类型。但是具有 `CHECK` 约束的列只允许将数据类型从 `CHAR` 更改为 `VARCHAR`。
 - 解决方式：删除约束或不执行违规操作。

## ERROR 5861 (HY000) : The percentile value should be a number between 0 and 1

- OceanBase 错误码：5861
 - 错误原因：为 `PERCENTILE_CONT` 或者 `PERCENTILE_DISC` 函数指定的百分位值不在合理范围内。
 - 解决方式：指定 [0,1] 范围内的值。

## ERROR 5862 (HY000) : The argument should be of numeric or date/datetime type

- OceanBase 错误码：5862
 - 错误原因：参数应为数字或日期/日期时间类型。

## ERROR 5863 (HY000) : ALTER TABLE|INDEX RENAME may not be combined with other operations

- OceanBase 错误码：5863
 - 错误原因：`ALTER TABLE` 或 `ALTER INDEX` 语句尝试将 `RENAME` 操作与其他操作合并，这是非法的。
 - 解决方式：确保 `ALTER TABLE` 或 `ALTER INDEX` 语句中仅包含 `RENAME` 操作。

## ERROR 5864 (HY000) : only simple column names allowed here

- OceanBase 错误码：5864
 - 错误原因：此处仅允许简单的列名称。

## ERROR 5866 (HY000) : cannot specify <(sub)partition-description> clause in CREATE TABLE or CREATE INDEX)

- OceanBase 错误码：5866
 - 错误原因：请求生成默认分区描述（可能通过 `PARTITIONS number-of-partitions`），同时指定 `<(sub)partition-description>` 子句，这是非法的。
 - 解决方式：删除其中一个违规子句。

## ERROR 5867 (HY000) :Duplicate partition name %.*s

- OceanBase 错误码：5867
 - 错误原因：表或者索引创建的二级分区或索引的名称不唯一。
 - 解决方式：重命名二级分区，以确保其名称在表或索引创建的二级分区中是唯一的。

## ERROR 5868 (HY000) : Incorrect usage of UPDATE and ORDER BY

- OceanBase 错误码：5868
 - 错误原因：多表 `UPDATE` 时，不能使用 `ORDER BY`。
 - 解决方式：移除 `ORDER BY`。

相关问题案例：

- [MySQL 模式 Update + Order by 报错 5868](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209975)

## ERROR 5869 (HY000) : Incorrect usage of UPDATE and LIMIT

- OceanBase 错误码：5869
 - 错误原因：多表 `UPDATE` 时，不能使用 `LIMIT`。
 - 解决方式：移除 `LIMIT`。

## ERROR 5870 (HY000) : rowid type mismatch, expect %.*s, got %.*s

- OceanBase 错误码：5870
 - 错误原因：内部错误码。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5871 (HY000) : rowid num mismatch, expect %ld, actual %ld

- OceanBase 错误码：5871
 - 错误原因：内部错误码。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5872 (HY000) :must name %.*s with a column alias

- OceanBase 错误码：5872
 - SQLSTATE：HY000
 - 错误原因：必须用列别名命名此表达式。

## ERROR 5873 (HY000) : the numeric value does not match the length of the format item

- OceanBase 错误码：5873
 - 错误原因：当为输入日期指定了 FX 和 FM 格式代码时，则数字位数必须与格式代码指定的位数完全相同。例如，`9` 不匹配格式说明符 DD，但 `09` 可以匹配。
 - 解决方式：更正输入日期或关闭格式字符串中的 FX 或 FM 格式说明符。

## ERROR 5874 (HY000) : invalid datatype

- OceanBase 错误码：5874
 - 错误原因：无效的数据类型。

## ERROR 5875 (HY000) : table is not partitioned by composite partition method

- OceanBase 错误码：5875
 - 错误原因：对非二级分区表进行二级分区维护操作。
 - 解决方式：确认表是二级分区表。

## ERROR 5876 (HY000) : VALUES IN (<value list>) cannot be used for Range subpartitioned tables

- OceanBase 错误码：5876
 - 错误原因：`VALUES (value list)` 子句用于 RANGE 二级分区表。
 - 解决方式：将 `VALUES LESS THAN` 或 `AT` 子句与 RANGE 二级分区表一起使用。

## ERROR 5877 (HY000) : VALUES IN (<value list>) clause expected

- OceanBase 错误码：5877
 - 错误原因：没有为 LIST 二级分区指定 `VALUES (value list)` 子句。
 - 解决方式：指定 ``VALUES (``value list)`` 子句。

## ERROR 5879 (HY000) : Expecting VALUES LESS THAN or AT clause

- OceanBase 错误码：5879
 - 错误原因：`VALUES (value list)` 子句只能与 LIST 分区表一起使用。
 - 解决方式：将 `VALUES LESS THAN` 子句与 RANGE 分区表一起使用。

## ERROR 5880 (HY000) : procedure, function, package, or package body does not exist

- OceanBase 错误码：5880
 - 错误原因：试图访问不存在的过程、函数、程序包或程序包主体。
 - 解决方式：确保要访问的对象名称正确。

## ERROR 5882 (HY000) : invalid time limit specified

- OceanBase 错误码：5882
 - 错误原因：`dbms_lock.sleep(time)` 包的入参 `time` 指定了一个非正值。
 - 解决方式：指定一个正值。

## ERROR 5883 (HY000) : error(s) in array DML

- OceanBase 错误码：5883
 - 错误原因：在 DML 语句中存在一行或者多行失败。
 - 解决方式：在异常捕获阶段查看错误栈，获取具体的异常。

## ERROR 5884 (42000) : %s \'%.*s.%.*s\' compile error

- OceanBase 错误码：5884
 - 错误原因：创建触发器的 DDL 语句错误。
 - 解决方式：根据具体提示，修改 DDL 语句并重新执行。

## ERROR 5887 (HY000) : missing or invalid password(s)

- OceanBase 错误码：5887
 - 错误原因：密码错误。
 - 解决方式：确保使用正确的密码，并重试。

## ERROR 5889 (HY000) : no matching unique or primary key for this column-list

- OceanBase 错误码：5889
 - 错误原因：`CREATE TABLE` 或 `ALTER TABLE` 语句中的 `REFERENCES` 子句提供了一个列列表，在引用表中没有匹配的唯一或主键约束。
 - 解决方式：使用 `ALL_CONS_COLUMNS` 目录视图查找正确的列名称。

## ERROR 5890 (HY000) : duplicate referential constraint specifications

- OceanBase 错误码：5890
 - 错误原因：创建表时，一张表上存在多个引用列和被引用列相同的外键约束。
 - 解决方式：修改 `CREATE TABLE` 语句，保证一张表上不能存在多个引用列和被引用列相同的外键约束。

## ERROR 5891 (HY000) : such a referential constraint already exists in the table

- OceanBase 错误码：5891
 - 错误原因：修改表时，一张表上存在多个引用列和被引用列相同的外键约束。
 - 解决方式：修改 `ALTER TABLE` 语句，保证一张表上不能存在多个引用列和被引用列相同的外键约束。

## ERROR 5893 (HY000) : specified data type is not supported for a virtual column

- OceanBase 错误码：5893
 - 错误原因：生成列的数据类型是暂不支持的 `LOB` 类型。
 - 解决方式：调整生成列的数据类型。

## ERROR 5894 (HY000) : referenced table does not have a primary key

- OceanBase 错误码：5894
 - 错误原因：没有指定外键被引用列的时候，外键主表上没有主键。
 - 解决方式：创建外键前需要先在被引用列上创建主键或者唯一索引。

## ERROR 5895 (HY000) : data type or length of a table partitioning column may not be changed

- OceanBase 错误码：5895
 - 错误原因：分区列的数据类型和长度不允许被更改。

## ERROR 5896 (HY000) : data type or length of a table partitioning column may not be changed

- OceanBase 错误码：5896
 - 错误原因：子分区列的数据类型和长度不允许被更改。

## ERROR 5897 (HY000) : cannot decrease column length because some value is too big

- OceanBase 错误码：5897
 - 错误原因：暂不支持将列的最大长度限制调小。

## ERROR 5898 (HY000) : Datetime/Interval internal error

- OceanBase 错误码：5898
 - 错误原因：内部错误。
 - 解决方式：请联系技术支持人员协助排查。

## ERROR 5899 (HY000) : partition extended table name cannot refer to a remote object

- OceanBase 错误码：5899
 - 错误原因：尝试用扩展分区表语法来命名一个远端对象。
 - 解决方式：更正表达式并重试。

## ERROR 5901 ( HY000 ) : a view is not appropriate here

- OceanBase 错误码：5901
 - 错误原因：尝试在视图上定义 `EDITIONING_VIEW`。
 - 解决方式：`EDITIONING_VIEW` 只能在基表上创建。

## ERROR 5902 (HY000) : cannot select ROWID from,or sample, a join view without a key-preserved table

- OceanBase 错误码：5902
 - 错误原因：没有 key-preserved table 的情况下，无法从联接视图或样本中查询 `ROWID`。

## ERROR 5903 (HY000) : cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc

- OceanBase 错误码：5903
 - 错误原因：无法从具有 `DISTINCT` 或者 `GROUP BY` 等的视图中查询 `ROWID`。

## ERROR 5904 (HY000) : table must have at least 1 column that is not virtual

- OceanBase 错误码：5904
 - 错误原因：试图创建仅包含虚拟列的表。
 - 解决方式：在要创建的表中至少包含1个非虚拟列。

## ERROR 5905 (HY000) : only pure functions can be indexed

- OceanBase 错误码：5905
 - 错误原因：索引函数使用 `SYSDATE` 或用户环境。
 - 解决方式：PL 函数必须是纯函数（`RNDS`，`RNPS`，`WNDS`，`WNPS`）。

## ERROR 5906 (HY000) : only pure functions can be specified in a virtual column expression

- OceanBase 错误码：5906
 - 错误原因：虚拟列表达式包含值不确定的函数。
 - 解决方式：重写列表达式以仅引用纯函数。

## ERROR 5907 (HY000) : UPDATE operation disallowed on virtual columns

- OceanBase 错误码：5907
 - 错误原因：尝试更新虚拟列的值。
 - 解决方式：重新执行该语句，但不设置虚拟列的值。

## ERROR 5908 (HY000) : Invalid column expression was specified

- OceanBase 错误码：5908
 - 错误原因：虚拟列表达式不是有效的算术表达式。 它可能引用了表中的另一列。
 - 解决方式：更改虚拟列的表达式。

## ERROR 5909 (HY000) : table can have only one identity column

- OceanBase 错误码：5909
 - 错误原因：试图在一个表上指定多个标识列。
 - 解决方式：每个表仅指定一个标识列。

## ERROR 5910 (HY000) : invalid NOT NULL constraint specified on an identity column

- OceanBase 错误码：5910
 - 错误原因：在身份列上未正确指定 `NOT NULL` 约束。
 - 解决方式：如果在标识列上指定了 `NOT NULL` 约束，则必须启用它并且不可延迟。

## ERROR 5911 (HY000) : cannot modify NOT NULL constraint on an identity column）

- OceanBase 错误码：5911
 - 错误原因：无法修改标识列的 `NOT NULL` 约束。
 - 解决方式：不要修改标识列的 `NOT NULL` 约束。

## ERROR 5912 (HY000) : cannot drop NOT NULL constraint on an identity column

- OceanBase 错误码：5912
 - 错误原因：无法删除标识列上的 `NOT NULL` 约束。
 - 解决方式：不要在标识列上删除 `NOT NULL` 约束。 删除约束的唯一方法是使用 `ALTER TABLE MODIFY` 的 `DROP IDENTITY` 删除列的 `identity` 属性。

## ERROR 5913 (HY000) : column to be modified is not an identity column

- OceanBase 错误码：5913
 - 错误原因：试图修改不是标识列的标识属性。
 - 解决方式：修改标识列的标识属性。

## ERROR 5914 (HY000) : identity column cannot have a default value

- OceanBase 错误码：5914
 - 错误原因：试图将默认值添加到标识列。
 - 解决方式：不能为标识列指定默认值。

## ERROR 5915 (HY000) : identity column must be a numeric type

- OceanBase 错误码：5915
 - 错误原因：试图创建或更改标识列的值为非数字数据类型。
 - 解决方式：不要将非数字数据类型分配给标识列。

## ERROR 5916 (HY000) : prebuilt table managed column cannot be an identity column

- OceanBase 错误码：5916
 - 错误原因：试图在具有标识列的预建表上创建实例化视图。
 - 解决方式：要么删除 `identity` 属性，要么在实例化视图定义中删除标识列。

## ERROR 5917 (HY000) : cannot alter a system-generated sequence

- OceanBase 错误码：5917
 - 错误原因：尝试更改系统生成的序列。
 - 解决方式：系统生成的序列（例如为身份列创建的序列）无法更改。

## ERROR 5918 (HY000) : cannot drop a system-generated sequence

- OceanBase 错误码：5918
 - 错误原因：尝试删除系统生成的序列。
 - 解决方式：不能删除系统生成的序列，例如为标识列创建的序列。

## ERROR 5919 (HY000)：cannot insert into a generated always identity column

- OceanBase 错误码：5919
 - 错误原因：试图将值插入到使用 `GENERATED ALWAYS` 关键字创建的标识列中。
 - 解决方式：不能直接插入使用 `GENERATED ALWAYS` 关键字生成的标识列。 而是，由关联的序列生成器提供该值。

## ERROR 5920 (HY000) : cannot update a generated always identity column

- OceanBase 错误码：5920
 - 错误原因：试图更新使用 `GENERATED ALWAYS` 关键字创建的标识列。
 - 解决方式：不能直接更新使用 `GENERATED ALWAYS` 关键字生成的标识列。

## ERROR 5921 (HY000) : identity column sequence mismatch in ALTER TABLE EXCHANGE PARTITION

- OceanBase 错误码：5921
 - 错误原因：`EXCHANGE` 中指定的两个表的标识列的序列既不增加也不减少。
 - 解决方式：确保带有 `INCREMENT BY` 的标识列有相同符号的序列。

## ERROR 5922 (HY000) : cannot rename a system-generated sequence

- OceanBase 错误码：5922
 - 错误原因：试图重命名系统生成的序列。
 - 解决方式：系统生成的序列（例如为标识列创建的序列）无法重命名。

## ERROR 5923 (HY000) : UPDATE/REFERENCES may only be REVOKEd from the whole table, not by column

- OceanBase 错误码：5923
 - 错误原因：`UPDATE` 或 `REFERENCES` 只能从整个表中撤消，而不能按列撤消。

## ERROR 5924 (HY000) : not executed, type body '%.*s' does not exist

- OceanBase 错误码：5924
 - 错误原因：尝试执行不存在的存储程序。
 - 解决方式：确保给出正确的名称。

## ERROR 5925 (HY000) : The argument [%s] of WIDTH_BUCKET function is NULL or invalid

- OceanBase 错误码：5925
 - 错误原因：`WIDTH_BUCKET` 函数的参数 `[%s]` 为 `NULL` 或无效。

## ERROR 5926 (HY000) : Not enough memory for CONNECT BY operation

- OceanBase 错误码：5926
 - 错误原因：在新引擎上，在递归层次太深时会报错，深度限制为 2 的 30 次方；而在旧引擎上，如果在从根节点到当前节点的路径上，所有节点加上它们的子节点的数目超过一个固定数值（2 的 30 次方）也会报错。目前设置的这个数值是固定的，一般情况下不会遇到超过这个数值的问题。
 - 解决方法：目前暂时无法找到解决方案。增加内存大小并不能解决这个问题。唯一的解决办法是减少递归层次或者减小数据量。

## ERROR 5927 (HY000) : illegal parameter in SYS_CONNECT_BY_PATH function

- OceanBase 错误码：5927
 - 错误原因：`SYS_CONNECT_BY_PATH` 函数中存在非法参数。

## ERROR 5928 (HY000) : host %.*s unknown

- OceanBase 错误码：5928
 - 错误原因：指定的主机未知。
 - 解决方式：检查主机名或 IP 地址的拼写，确保主机名或 IP 地址有效。

## ERROR 5929 (HY000) : Window name '%.*s' is not defined

- OceanBase 错误码：5929
 - 错误原因：指定的窗口函数不存在。
 - 解决方式：确认相关窗口函数已经创建，同时使用正确的窗口函数名称。

## ERROR 5930 (HY000) : maximum open cursors exceeded

- OceanBase 错误码：5930
 - 错误原因：系统中同时打开的游标数超出限制。
 - 解决方式：关闭游标或者调整 `open_cursors` 参数。

相关问题案例：

- [业务报 maximum open cursors exceeded](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000209966)
 - [PL 嵌套调用 refcursor 报错 5930](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000422799?back=kb)

## ERROR 5931 (HY000) : argument is null, invalid, or out of range

- OceanBase 错误码：5931
 - 错误原因：传递的参数值是 `NULL`，无效的或者超出范围的。例如 `LOB / FILE` 的位置或大小参数的值超出 1 到（4GB-1）的范围；在无效的打开模式中打开文件等。
 - 解决方法：检查并更正程序，以不传递 `NULL`、无效的或超出范围的参数值。

## ERROR 5932 (HY000) : unexpected name string

- OceanBase 错误码：5932
 - 错误原因：错误的名称字符。

## ERROR 5933 (HY000) : PL/SQL: could not findprogram unit being called: '%.*s'

- OceanBase 错误码：5933
 - 错误原因：找不到程序单元。

## ERROR 5934 (HY000) : fetch out of sequence

- OceanBase 错误码：5934
 - SQLSTATE：HY000
 - 错误原因：尝试从无效的游标进行访存。发生此错误的原因有如下几种：

     - 检索到最后一行并返回 `ORA-1403` 错误后，从游标中进行访存。
     - 如果使用 `FOR UPDATE` 子句打开了游标，然后再发出 `COMMIT` 后进行访存。
     - 重新绑定 SQL 语句中的所有占位符，然后在重新执行该语句之前发出访存。  

  #### 说明

  PL 游标循环隐式地进行提取，也可能导致此错误。
 - 解决方法：

     - 在检索到最后一行之后，不要发出 `FETCH` 语句。
     - 不要在使用 `FOR UPDATE` 子句打开的游标后，发出 `COMMIT` 后进行访存。
     - 重新绑定后执行 SQL 语句，然后再发出访存。

## ERROR 5959 (HY000) : invalid SIZE specified

- OceanBase 错误码：5959
 - 错误原因：指定的直方图的 `SIZE` 值超出范围。
 - 解决方式：指定 [1，2048] 范围内的 `SIZE` 值。

## ERROR 5975 (HY000) : \ndblink remote error code: %d,\nremote error msg: %.*s"

- OceanBase 错误码：5975
 - 错误原因：远端连接数据库出错，且错误码无法映射为 OceanBase 错误码。
 - 解决方法：根据错误信息中的错误码查找相关原因。

## ERROR 5976 (HY000) : oci lib not founded

- OceanBase 错误码：5976
 - 错误原因：Oracle OCI 库未被安装到正确路径。
 - 解决方式：请联系技术支持人员协助排查。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
