SQLite 的错误代码及解析

前端之家收集整理的这篇文章主要介绍了SQLite 的错误代码及解析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

sql定义了如下一些错误代码


#define sqlITE_OK      0  /* Successful result */
#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 */

其中最常见的几个返回值是:

sqlite_OK,所有API执行成功都返回它。

sqlite_ROW,遍历查询时还有下一行时返回此结果。

sqlite_DONE,遍历查询至没有下一行时返回此结果。

sqlite_ERROR,数据库还没建好的时候就查询

sqlite_BUSY,并发错误sqlite是读写分享的,也即读共享,写独占。当两个写操作同时到达时,会报此错误

sqlite_CONSTRAINT,主键冲突,如果设置了主键,那么插入失败会报这个错。

原文链接:https://www.f2er.com/sqlite/200714.html

猜你在找的Sqlite相关文章