错误代码门户

SQLite 错误代码

按代码或错误消息搜索,查看官方说明及故障排除、诊断链接。

4,836 个代码·14 个产品·84 篇官方文档

搜索在浏览器中进行。同一编号在不同产品中可能有不同含义。

SQLite 代码

101 项
代码问题与场景厂商与产品
  • interrupt

    SQLITE_INTERRUPT结果代码指示操作被sqlite3_interrupt()接口中断。另请参阅:SQLITE_ABORT

    SQLiteSQLite
  • ioerr

    SQLITE_IOERR 结果代码表示操作无法完成,因为操作系统报告了 I/O 错误。 磁盘驱动器已满通常会给出 SQLITE_FULL 错误,而不是 SQLITE_IOERR 错误。 I/O 错误有许多不同的扩展结果代码,用于标识失败的特定 I/O 操作。

    SQLiteSQLite
  • ioerr access

    SQLITE_IOERR_ACCESS 错误代码是 SQLITE_IOERR 的扩展错误代码,指示 sqlite3_vfs 对象上的 xAccess 方法内的 I/O 错误。

    SQLiteSQLite
  • ioerr auth

    SQLITE_IOERR_AUTH 错误代码是保留供扩展使用的代码。 SQLite 核心不使用它。

    SQLiteSQLite
  • ioerr begin atomic

    SQLITE_IOERR_BEGIN_ATOMIC 错误代码指示底层操作系统报告 SQLITE_FCNTL_BEGIN_ATOMIC_WRITE 文件控制错误。仅当启用 SQLITE_ENABLE_ATOMIC_WRITE 并且数据库托管在支持原子写入的文件系统上时,才会出现这种情况。

    SQLiteSQLite
  • ioerr blocked

    不再使用 SQLITE_IOERR_BLOCKED 错误代码。

    SQLiteSQLite
  • ioerr checkreservedlock

    SQLITE_IOERR_CHECKRESERVEDLOCK 错误代码是 SQLITE_IOERR 的扩展错误代码,指示 sqlite3_io_methods 对象上的 xCheckReservedLock 方法内发生 I/O 错误。

    SQLiteSQLite
  • ioerr close

    SQLITE_IOERR_CLOSE 错误代码是 SQLITE_IOERR 的扩展错误代码,指示 sqlite3_io_methods 对象上的 xClose 方法内的 I/O 错误。

    SQLiteSQLite
  • ioerr commit atomic

    SQLITE_IOERR_COMMIT_ATOMIC 错误代码指示底层操作系统报告 SQLITE_FCNTL_COMMIT_ATOMIC_WRITE 文件控制错误。仅当启用 SQLITE_ENABLE_ATOMIC_WRITE 并且数据库托管在支持原子写入的文件系统上时,才会出现这种情况。

    SQLiteSQLite
  • ioerr convpath

    SQLITE_IOERR_CONVPATH 错误代码是 SQLITE_IOERR 的扩展错误代码,仅由 Cygwin VFS 使用,指示 cygwin_conv_path() 系统调用失败。另请参阅:SQLITE_CANTOPEN_CONVPATH

    SQLiteSQLite
  • ioerr corruptfs

    SQLITE_IOERR_CORRUPTFS 错误代码是 SQLITE_IOERR 的扩展错误代码,仅由 VFS 使用来指示查找或读取失败是由于请求未落在文件边界内而不是普通设备故障所致。这通常表明文件系统已损坏。 本页面最后更新于 2026-02-18 11:56:50Z

    SQLiteSQLite
  • ioerr data

    SQLITE_IOERR_DATA 错误代码是 SQLITE_IOERR 的扩展错误代码,仅由校验和 VFS 填充程序使用,以指示数据库文件页面上的校验和不正确。

    SQLiteSQLite
  • ioerr delete

    SQLITE_IOERR_DELETE 错误代码是 SQLITE_IOERR 的扩展错误代码,指示 sqlite3_vfs 对象上的 xDelete 方法内的 I/O 错误。

    SQLiteSQLite
  • ioerr delete noent

    SQLITE_IOERR_DELETE_NOENT 错误代码是 SQLITE_IOERR 的扩展错误代码,指示 sqlite3_vfs 对象上的 xDelete 方法失败,因为要删除的文件不存在。

    SQLiteSQLite
  • ioerr dir close

    不再使用 SQLITE_IOERR_DIR_CLOSE 错误代码。

    SQLiteSQLite
  • ioerr dir fsync

    SQLITE_IOERR_DIR_FSYNC 错误代码是 SQLITE_IOERR 的扩展错误代码,指示尝试在目录上调用 fsync() 时 VFS 层中出现 I/O 错误。 unix VFS 在创建或删除某些文件后尝试 fsync() 目录,以确保这些文件在断电或系统崩溃后仍会出现在文件系统中。此错误代码表示尝试执行 fsync() 时出现问题。

    SQLiteSQLite
  • ioerr fstat

    SQLITE_IOERR_FSTAT 错误代码是 SQLITE_IOERR 的扩展错误代码,指示在尝试对文件调用 fstat() (或等效函数)以确定文件大小或访问权限等信息时,VFS 层中出现 I/O 错误。

    SQLiteSQLite
  • ioerr fsync

    SQLITE_IOERR_FSYNC 错误代码是 SQLITE_IOERR 的扩展错误代码,指示在尝试将先前写入的内容从操作系统和/或磁盘控制缓冲区刷新到持久存储时,VFS 层中出现 I/O 错误。换句话说,这段代码表明unix中的fsync()系统调用或windows中的FlushFileBuffers()系统调用有问题。

    SQLiteSQLite
  • ioerr gettemppath

    SQLITE_IOERR_GETTEMPPATH 错误代码是 SQLITE_IOERR 的扩展错误代码,指示 VFS 无法确定放置临时文件的合适目录。

    SQLiteSQLite
  • ioerr lock

    SQLITE_IOERR_LOCK 错误代码是 SQLITE_IOERR 的扩展错误代码,指示建议文件锁定逻辑中的 I/O 错误。通常,SQLITE_IOERR_LOCK 错误表示获取 PENDING 锁时出现问题。然而,它也可以指示 Mac 上使用的某些专用 VFS 上的各种锁定错误。

    SQLiteSQLite
  • ioerr mmap

    SQLITE_IOERR_MMAP 错误代码是 SQLITE_IOERR 的扩展错误代码,指示在尝试将部分数据库文件映射或取消映射到进程地址空间时,sqlite3_io_methods 对象上的 xFetch 或 xUnfetch 方法内出现 I/O 错误。

    SQLiteSQLite
  • ioerr nomem

    VFS 层有时会返回 SQLITE_IOERR_NOMEM 错误代码,以指示由于无法分配足够的内存而无法完成操作。此错误代码通常由 SQLite 的高层转换为 SQLITE_NOMEM,然后返回到应用程序。

    SQLiteSQLite
  • ioerr rdlock

    SQLITE_IOERR_RDLOCK 错误代码是 SQLITE_IOERR 的扩展错误代码,指示在尝试获取读锁定时 sqlite3_io_methods 对象上的 xLock 方法内出现 I/O 错误。

    SQLiteSQLite
  • ioerr read

    SQLITE_IOERR_READ 错误代码是 SQLITE_IOERR 的扩展错误代码,指示尝试从磁盘上的文件读取时 VFS 层中出现 I/O 错误。此错误可能是由于硬件故障或文件打开时文件系统被卸载所致。

    SQLiteSQLite
  • ioerr rollback atomic

    SQLITE_IOERR_ROLLBACK_ATOMIC 错误代码指示底层操作系统报告 SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE 文件控制错误。仅当启用 SQLITE_ENABLE_ATOMIC_WRITE 并且数据库托管在支持原子写入的文件系统上时,才会出现这种情况。

    SQLiteSQLite
  • ioerr seek

    SQLITE_IOERR_SEEK 错误代码是 SQLITE_IOERR 的扩展错误代码,指示 sqlite3_io_methods 对象上的 xRead 或 xWrite 方法在尝试将文件描述符查找到要发生读取或写入的文件的起始点时出现 I/O 错误。

    SQLiteSQLite
  • ioerr shmlock

    不再使用 SQLITE_IOERR_SHMLOCK 错误代码。

    SQLiteSQLite
  • ioerr shmmap

    SQLITE_IOERR_SHMMAP 错误代码是 SQLITE_IOERR 的扩展错误代码,指示在尝试将共享内存段映射到进程地址空间时 sqlite3_io_methods 对象上的 xShmMap 方法内出现 I/O 错误。

    SQLiteSQLite
  • ioerr shmopen

    SQLITE_IOERR_SHMOPEN 错误代码是 SQLITE_IOERR 的扩展错误代码,指示在尝试打开新的共享内存段时 sqlite3_io_methods 对象上的 xShmMap 方法内出现 I/O 错误。

    SQLiteSQLite
  • ioerr shmsize

    SQLITE_IOERR_SHMSIZE 错误代码是 SQLITE_IOERR 的扩展错误代码,指示在尝试扩大“shm”文件作为 WAL 模式事务处理的一部分时,sqlite3_io_methods 对象上的 xShmMap 方法内出现 I/O 错误。此错误可能表明底层文件系统卷空间不足。

    SQLiteSQLite
  • ioerr short read

    SQLITE_IOERR_SHORT_READ 错误代码是 SQLITE_IOERR 的扩展错误代码,指示 VFS 层中的读取尝试无法获取请求的字节数。这可能是由于文件被截断造成的。

    SQLiteSQLite
  • ioerr truncate

    SQLITE_IOERR_TRUNCATE 错误代码是 SQLITE_IOERR 的扩展错误代码,指示在尝试使用 sqlite3_io_methods 对象的 xTruncate 方法更改文件大小时,VFS 层中出现 I/O 错误。

    SQLiteSQLite
  • ioerr unlock

    SQLITE_IOERR_UNLOCK 错误代码是 SQLITE_IOERR 的扩展错误代码,指示 sqlite3_io_methods 对象上的 xUnlock 方法内的 I/O 错误。

    SQLiteSQLite
  • ioerr vnode

    SQLITE_IOERR_VNODE 错误代码是保留供扩展使用的代码。 SQLite 核心不使用它。

    SQLiteSQLite
  • ioerr write

    SQLITE_IOERR_WRITE 错误代码是 SQLITE_IOERR 的扩展错误代码,指示尝试写入磁盘上的文件时 VFS 层中出现 I/O 错误。此错误可能是由于硬件故障或文件打开时文件系统被卸载所致。如果文件系统已满,则不应发生此错误,因为有一个单独的错误代码 (SQLITE_FULL) 用于此目的。

    SQLiteSQLite
  • locked

    SQLITE_LOCKED 结果代码表示由于同一数据库连接内发生冲突或与使用共享缓存的不同数据库连接发生冲突,写入操作无法继续。 例如,当另一个线程正在同一数据库连接上读取该表时,无法运行 DROP TABLE 语句,因为删除该表会从并发读取器下删除该表。 SQLITE_LOCKED 结果代码与 SQLITE_BUSY 的不同之处在于,SQLITE_LOCKED 指示同一数据库连接(或与共享缓存的连接)上的冲突,而 SQLITE_BUSY 指示与不同数据库连接(可能在不同进程中)的冲突。

    SQLiteSQLite
  • locked sharedcache

    SQLITE_LOCKED_SHAREDCACHE 结果代码表示对 SQLite 数据记录的访问被在共享缓存模式下使用同一记录的另一个数据库连接阻止。当两个或多个数据库连接共享同一缓存并且其中一个连接正在修改该缓存中的记录时,其他连接将在修改正在进行时被阻止访问该数据,以防止读者看到损坏或部分完成的更改。

    SQLiteSQLite
  • locked vtab

    SQLITE_LOCKED_VTAB 结果代码不被 SQLite 核心使用,但可供扩展使用。虚拟表实现可以返回此结果代码,以指示由于其他线程或进程持有锁,它们无法完成当前操作。 当尝试更新 R-Tree 而另一个准备好的语句正在主动读取 R-Tree 时,R-Tree 扩展会返回此结果代码。更新无法继续,因为对 R-Tree 的任何更改都可能涉及节点的重新洗牌和重新平衡,这会破坏读取游标,导致某些行重复而其他行被省略。

    SQLiteSQLite
  • mismatch

    SQLITE_MISMATCH 错误代码指示数据类型不匹配。 SQLite 通常非常宽容值的类型与存储该值的容器的声明类型之间的不匹配。例如,SQLite 允许应用程序将大型 BLOB 存储在声明类型为 BOOLEAN 的列中。但在某些情况下,SQLite 对类型很严格。当类型不匹配时,在少数情况下会返回 SQLITE_MISMATCH 错误。 表的 rowid 必须是整数。尝试将 rowid 设置为整数以外的任何值(或 NULL,它将自动转换为下一个可用的整数 rowid)会导致 SQLITE_MISMATCH 错误。

    SQLiteSQLite
  • misuse

    如果应用程序以未定义或不受支持的方式使用任何 SQLite 接口,则可能会返回 SQLITE_MISUSE 返回代码。例如,在准备好的语句完成后使用该准备好的语句可能会导致 SQLITE_MISUSE 错误。 SQLite 尝试使用此结果代码检测误用并报告误用。但是,不能保证滥用行为的检测会成功。误用检测是概率性的。应用程序永远不应该依赖于 SQLITE_MISUSE 返回值。 如果 SQLite 从任何接口返回 SQLITE_MISUSE,则意味着应用程序编码不正确,需要修复。不要发布有时从标准 SQLite 接口返回 SQLITE_MISUSE 的应用程序,因为该应用程序包含潜在的严重错误。

    SQLiteSQLite

按厂商查看代码