Error code
SQLite SQLITE_IOERR
SQLITESQLITE_IOERR
Database Error Code· An error code returned by a database server such as PostgreSQL or MySQL.
What it means
an I/O error occurred on the disk.
How to fix it
- Check OS-level disk health with filesystem tools (e.g. fsck or chkdsk).
- Verify that the filesystem is mounted correctly and not in a degraded state.
- Move the database to a healthy storage device and restore from backup if the file is damaged.
Not affiliated with SQLite. Answer summarized from the manufacturer's manual linked above; consult that source for the authoritative procedure.
More SQLite codes
- SQLITE_AUTHauthorization denied — an authorizer callback blocked the operation
- SQLITE_BUSYdatabase file is locked — another connection holds a shared or reserved lock
- SQLITE_BUSY_SNAPSHOTWAL snapshot conflict — a snapshot-isolated read cannot see a newer WAL frame
- SQLITE_CANTOPENunable to open the database file
- SQLITE_CONSTRAINTa constraint violation was raised — the write violates a database rule
- SQLITE_CONSTRAINT_FOREIGNKEYFOREIGN KEY constraint failed — the referenced row does not exist
- SQLITE_CONSTRAINT_UNIQUEUNIQUE constraint failed — a duplicate value was inserted
- SQLITE_CORRUPTthe database file is malformed — on-disk structure is damaged
- SQLITE_FULLthe database or disk is full — no space for the write
- SQLITE_LOCKEDa table in the database is locked — conflict within the same connection
- SQLITE_MISMATCHdatatype mismatch — the value type does not fit the affinity
- SQLITE_MISUSElibrary used incorrectly — the API was called in an invalid state