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 |
函数 |