%SQLITE_IOERR_READ = %SQLITE_IOERR OR &H100 ' (SQLITE_IOERR | (1<<8))
%SQLITE_IOERR_SHORT_READ = %SQLITE_IOERR OR &H200 ' (SQLITE_IOERR | (2<<8))
%SQLITE_IOERR_WRITE = %SQLITE_IOERR OR &H300 ' (SQLITE_IOERR | (3<<8))
%SQLITE_IOERR_FSYNC = %SQLITE_IOERR OR &H400 ' (SQLITE_IOERR | (4<<8))
%SQLITE_IOERR_DIR_FSYNC = %SQLITE_IOERR OR &H500 ' (SQLITE_IOERR | (5<<8))
%SQLITE_IOERR_TRUNCATE = %SQLITE_IOERR OR &H600 ' (SQLITE_IOERR | (6<<8))
%SQLITE_IOERR_FSTAT = %SQLITE_IOERR OR &H700 ' (SQLITE_IOERR | (7<<8))
%SQLITE_IOERR_UNLOCK = %SQLITE_IOERR OR &H800 ' (SQLITE_IOERR | (8<<8))
%SQLITE_IOERR_RDLOCK = %SQLITE_IOERR OR &H900 ' (SQLITE_IOERR | (9<<8))
%SQLITE_IOERR_DELETE = %SQLITE_IOERR OR &HA00 ' (SQLITE_IOERR | (10<<8))
%SQLITE_IOERR_BLOCKED = %SQLITE_IOERR OR &HB00 ' (SQLITE_IOERR | (11<<8))
%SQLITE_IOERR_NOMEM = %SQLITE_IOERR OR &HC00 ' (SQLITE_IOERR | (12<<8))
%SQLITE_IOERR_ACCESS = %SQLITE_IOERR OR &HD00 ' (SQLITE_IOERR | (13<<8))
%SQLITE_IOERR_CHECKRESERVEDLOCK = %SQLITE_IOERR OR &HE00 ' (SQLITE_IOERR | (14<<8))
%SQLITE_IOERR_LOCK = %SQLITE_IOERR OR &HF00 ' (SQLITE_IOERR | (15<<8))
%SQLITE_IOERR_CLOSE = %SQLITE_IOERR OR &H1000 ' (SQLITE_IOERR | (16<<8))
%SQLITE_IOERR_DIR_CLOSE = %SQLITE_IOERR OR &H1100 ' (SQLITE_IOERR | (17<<8))
%SQLITE_IOERR_SHMOPEN = %SQLITE_IOERR OR &H1200 ' (SQLITE_IOERR | (18<<8))
%SQLITE_IOERR_SHMSIZE = %SQLITE_IOERR OR &H1300 ' (SQLITE_IOERR | (19<<8))
%SQLITE_IOERR_SHMLOCK = %SQLITE_IOERR OR &H1400 ' (SQLITE_IOERR | (20<<8))
%SQLITE_IOERR_SHMMAP = %SQLITE_IOERR OR &H1500 ' (SQLITE_IOERR | (21<<8))
%SQLITE_IOERR_SEEK = %SQLITE_IOERR OR &H1600 ' (SQLITE_IOERR | (22<<8))
%SQLITE_LOCKED_SHAREDCACHE = %SQLITE_LOCKED OR &H100 ' (SQLITE_LOCKED | (1<<8))
%SQLITE_BUSY_RECOVERY = %SQLITE_BUSY OR &H100 ' (SQLITE_BUSY | (1<<8))
%SQLITE_CANTOPEN_NOTEMPDIR = %SQLITE_CANTOPEN OR &H100 ' (SQLITE_CANTOPEN | (1<<8))
%SQLITE_CANTOPEN_ISDIR = %SQLITE_CANTOPEN OR &H200 ' (SQLITE_CANTOPEN | (2<<8))
%SQLITE_CORRUPT_VTAB = %SQLITE_CORRUPT OR &H100 ' (SQLITE_CORRUPT | (1<<8))
%SQLITE_READONLY_RECOVERY = %SQLITE_READONLY OR &H100 ' (SQLITE_READONLY | (1<<8))
%SQLITE_READONLY_CANTLOCK = %SQLITE_READONLY OR &H200 ' (SQLITE_READONLY | (2<<8))
%SQLITE_ABORT_ROLLBACK = %SQLITE_ABORT OR &H200 ' (SQLITE_ABORT | (2<<8))
在其默认配置中,SQLite API函数返回26个整数结果代码之一。然而,经验表明,许多这些结果代码过于粗糙。他们没有提供有关程序员可能喜欢的问题的信息。为了解决这个问题,更新版本的SQLite(版本3.3.8及更高版本)包括对提供更多有关错误的更详细信息的其他结果代码的支持。使用sqlite3_extended_result_codes功能,在每个数据库连接的基础上启用或禁用扩展结果代码。
这里列出了一些可用的扩展结果代码。可以预期扩展结果代码的数量将随着时间的推移而扩大。使用扩展结果代码的软件应该期待在将来的SQLite版本中看到新的结果代码。
SQLITE_OK结果代码将永远不会被扩展。它将始终为零。