SQLITE3_RESET(3) | Library Functions Manual | SQLITE3_RESET(3)

# NAME

`sqlite3_reset` — reset a prepared statement object

# SYNOPSIS

`#include <sqlite3.h>`

int
`sqlite3_reset`(sqlite3_stmt *pStmt);

# DESCRIPTION

The sqlite3_reset() function is called to reset a prepared statement object back to its initial state, ready to be re-executed. Any SQL statement variables that had values bound to them using the sqlite3_bind_*() API retain their values. Use `sqlite3_clear_bindings`() to reset the bindings.

The sqlite3_reset(S) interface resets the prepared statement S back to the beginning of its program.

The return code from sqlite3_reset(S) indicates whether or not the previous evaluation of prepared statement S completed successfully. If sqlite3_step(S) has never before been called on S or if sqlite3_step(S) has not been called since the previous call to sqlite3_reset(S), then sqlite3_reset(S) will return SQLITE_OK.

If the most recent call to sqlite3_step(S) for the prepared statement S indicated an error, then sqlite3_reset(S) returns an appropriate error code. The sqlite3_reset(S) interface might also return an error code if there were no prior errors but the process of resetting the prepared statement caused a new error. For example, if an INSERT statement with a RETURNING clause is only stepped one time, that one call to sqlite3_step(S) might return SQLITE_ROW but the overall statement might still fail and the sqlite3_reset(S) call might return SQLITE_BUSY if locking constraints prevent the database change from committing. Therefore, it is important that applications check the return code from sqlite3_reset(S) even if no prior call to sqlite3_step(S) indicated a problem.

The sqlite3_reset(S) interface does not change the values of any bindings on the prepared statement S.

# IMPLEMENTATION NOTES

These declarations were extracted from the interface documentation at line 5293.

    SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt);

# SEE ALSO

sqlite3_bind_blob(3), sqlite3_clear_bindings(3), sqlite3_stmt(3), SQLITE_OK(3)

January 24, 2024 | NetBSD 11.0