SQLCODE 和 SQLSTATE

SQLCODE 是 DingoDB 驱动程序返回的整数值,表示数据库操作过程中发生的错误。

SQLSTATE 是识别 SQL 错误条件的代码。它由五个字符组成,可以是数字或大写 ASCII 字母。SQLSTATE 值由一个类(前两个字符)和一个子类(后三个字符)组成。SQL 标准中定义了以下 SQLSTATE 类:

  • '00'表示 '成功'

  • '01' 包含所有'警告'

  • '02'是'未找到'类

DingoDB 尝试使返回的 SQLCODE 和 SQLSTATE 与 MySQL 兼容,如果错误与 MySQL 不兼容,则其 SQLSTATE 为 “45000”。

DingoDB 的 SQLCODE 和 SQLSTATE

与 MySQL 兼容的错误

SQLCODE

SQLSTATE

说明

1152

08S01

连接被拒绝

1064

42000

SQL 解析错误

1050

42S01

表格已存在

4028

HY000

缺少栏目列表

1146

42S02

未找到表格

1054

42S22

未找到列

1364

HY000

列值不能为空

DingoDB 指定错误

SQLCODE

SQLSTATE

说明

1001

45000

需要主键

1002

45000

表中不存在指定的主键

2001

45000

非法使用动态参数

2002

45000

上下文中的非法表达

2003

45000

未知标识符

3001

45000

数字格式错误

5001

45000

任务执行失败

9001

45000

未知错误

9002

45000

函数 throw 引发的错误(用于测试)