SQLite返回码
返回码含义
宏 | 值 | 含义 |
---|---|---|
SQLITE_OK | 0 | 返回成功 |
SQLITE_ERROR | 1 | SQL错误或数据库不存在 |
SQLITE_INTERNAL | 2 | SQLite内部逻辑错误 |
SQLITE_PERM | 3 | 拒绝访问 |
SQLITE_ABORT | 4 | 回调函数请求中止 |
SQLITE_BUSY | 5 | 数据库文件被锁 |
SQLITE_LOCKED | 6 | 数据库中的一个表被锁 |
SQLITE_NOMEM | 7 | malloc()分配内存失败 |
SQLITE_READONLY | 8 | 试图对只读数据库进行写操作 |
SQLITE_INTERRUPT | 9 | 操作被sqlie3_interrupt()中止 |
SQLITE_IOERR | 10 | 磁盘I/O发生错误 |
SQLITE_CORRUPT | 11 | 数据库磁盘映像格式不正确 |
SQLITE_NOTFOUND | 12 | (Internal Only)表或记录不存在 未知操作码在sqlite3_file_control() |
SQLITE_FULL | 13 | 插入失败,数据库已满 |
SQLITE_CANTOPEN | 14 | 不能打开数据库文件 |
SQLITE_PROTOCOL | 15 | 数据库锁定协议错误 |
SQLITE_EMPTY | 16 | (Internal Only)数据库为空 |
SQLITE_SCHEMA | 17 | 数据库模式改变 |
SQLITE_TOOBIG | 18 | 单行数据过多(字符串或BLOB超过大小限制) |
SQLITE_CONSTRAINT | 19 | 由于约束冲突而中止 |
SQLITE_MISMATCH | 20 | 数据类型不匹配 |
SQLITE_MISUSE | 21 | 数据库错误使用 |
SQLITE_NOLFS | 22 | 使用主机操作系统不支持的特性 |
SQLITE_AUTH | 23 | 非法授权 |
SQLITE_FORMAT | 24 | 辅助数据库格式错误 |
SQLITE_RANGE | 25 | sqlite_bind第二个参数超出范围 |
SQLITE_NOTADB | 26 | 打开的不是一个数据库文件 |
SQLITE_NOTICE | 27 | 来自sqlite3_log()的通知 |
SQLITE_WARNING | 28 | 来自sqlite3_log()的警告 |
SQLITE_ROW | 100 | sqlite_step() 有另一行准备就绪 |
SQLITE_DONE | 101 | sqlite_step() 执行完成 |
源代码(SQLite 3.12)
#define SQLITE_OK 0 /* Successful result */
/* beginning-of-error-codes */
#define SQLITE_ERROR 1 /* SQL error or missing database */
#define SQLITE_INTERNAL 2 /* Internal logic error in SQLite */
#define SQLITE_PERM 3 /* Access permission denied */
#define SQLITE_ABORT 4 /* Callback routine requested an abort */
#define SQLITE_BUSY 5 /* The database file is locked */
#define SQLITE_LOCKED 6 /* A table in the database is locked */
#define SQLITE_NOMEM 7 /* A malloc() failed */
#define SQLITE_READONLY 8 /* Attempt to write a readonly database */
#define SQLITE_INTERRUPT 9 /* Operation terminated by sqlite3_interrupt()*/
#define SQLITE_IOERR 10 /* Some kind of disk I/O error occurred */
#define SQLITE_CORRUPT 11 /* The database disk image is malformed */
#define SQLITE_NOTFOUND 12 /* Unknown opcode in sqlite3_file_control() */
#define SQLITE_FULL 13 /* Insertion failed because database is full */
#define SQLITE_CANTOPEN 14 /* Unable to open the database file */
#define SQLITE_PROTOCOL 15 /* Database lock protocol error */
#define SQLITE_EMPTY 16 /* Database is empty */
#define SQLITE_SCHEMA 17 /* The database schema changed */
#define SQLITE_TOOBIG 18 /* String or BLOB exceeds size limit */
#define SQLITE_CONSTRAINT 19 /* Abort due to constraint violation */
#define SQLITE_MISMATCH 20 /* Data type mismatch */
#define SQLITE_MISUSE 21 /* Library used incorrectly */
#define SQLITE_NOLFS 22 /* Uses OS features not supported on host */
#define SQLITE_AUTH 23 /* Authorization denied */
#define SQLITE_FORMAT 24 /* Auxiliary database format error */
#define SQLITE_RANGE 25 /* 2nd parameter to sqlite3_bind out of range */
#define SQLITE_NOTADB 26 /* File opened that is not a database file */
#define SQLITE_NOTICE 27 /* Notifications from sqlite3_log() */
#define SQLITE_WARNING 28 /* Warnings from sqlite3_log() */
#define SQLITE_ROW 100 /* sqlite3_step() has another row ready */
#define SQLITE_DONE 101 /* sqlite3_step() has finished executing */
/* end-of-error-codes */