Name

last_insert_rowid() — Return the ROWID of the last inserted row

Common Usage

last_insert_rowid( )

Description

The last_insert_rowid() function returns the integer ROWID value (or ROWID alias) of the last successfully completed row INSERT. The purpose of this function is to discover an automatically generated ROWID, often for the purpose of inserting a foreign key that references that ROWID. For the purposes of this function, an INSERT is considered to successfully complete even if it happens inside an uncommitted transaction.

The returned value is tracked by the database connection, not the database itself. This avoids any possible race conditions between INSERT operations done from different database connections. It means, however, that the returned value is updated by an INSERT to any table of any attached database in the database connection. If no INSERT operations have completed with this database connection, the value 0 is returned.

This SQL function is a wrapper around the C function sqlite3_last_insert_rowid(), and has all of the same limitations and conditions.

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.