Name

sqlite3_update_hook() — Register an update callback

Definition

void* sqlite3_update_hook( sqlite3* db, update_callback, void* udp );

void update_callback( void* udp, int type,
           const char* db_name, const char* tbl_name, sqlite3_int64 rowid );
db

A database connection.

update_callback

An application-defined callback function that is called when a database row is modified.

udp

An application-defined user-data pointer. This value is made available to the update callback.

type

The type of database update. Possible values are SQLITE_INSERT, SQLITE_UPDATE, and SQLITE_DELETE.

db_name

The logical name of the database that is being modified. Names include main, temp, or any name passed to ATTACH DATABASE.

tbl_name

The name of the table that is being modified.

rowid

The ROWID of the row being modified. In the case of an UPDATE, this is the ROWID value after the modification has taken place.

Returns (sqlite3_update_hook())

The previous user-data pointer, if applicable.

Description

This function allows an application to register an update callback. This callback is called when a database row is modified. The callback must not use the associated database connection to modify any databases, nor may it call sqlite3_prepare_v2() or sqlite3_step().

The callback will be called when rows are modified by a trigger, but not when they are deleted because of a conflict resolution (such as INSERT OR REPLACE). The callback is not called when system tables (such as sqlite_master) are modified.

Get Using SQLite now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.