SQLITE_DONE
SQLiteSUCCESSCommonStep Resultofficial confidence
sqlite3_step() finished executing
Production Risk
None — success code.
What this means
SQLITE_DONE (101) is returned by sqlite3_step() to indicate that a statement has finished executing. For SELECT statements this means all rows have been returned; for INSERT/UPDATE/DELETE it means the statement completed successfully.
Why it happens
- 1Not an error — indicates successful completion.
How to reproduce
Returned by sqlite3_step() after the last row of a SELECT, or after a DML statement completes.
trigger — this will error
trigger — this will error
import sqlite3
conn = sqlite3.connect(':memory:')
conn.execute('CREATE TABLE t(x)')
conn.execute('INSERT INTO t VALUES(1)')
cur = conn.execute('SELECT x FROM t')
print(cur.fetchall()) # fetchall() drains to SQLITE_DONE internallyexpected output
[(1,)]
Fix
Sources
Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev