Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does SQLite support SCOPE_IDENTITY?

Tags:

sql

sqlite

I'm trying to perform a simple INSERT and return the identity (auto-incrementing primary key). I've tried

cmd.CommandText = "INSERT INTO Prototype ( ParentID ) VALUES ( NULL ); SELECT SCOPE_IDENTITY();";

and I receive the following error

EnvironmentError: SQLite error
no such function: SCOPE_IDENTITY

Does SQLite support SCOPE_IDENTITY?
If so, how do I use it?
If not, what are my (preferably "thread-safe") alternatives?

like image 333
Greg Avatar asked Nov 20 '08 07:11

Greg


2 Answers

If you're not using the C interface for programming and want to do the process from an SQL Command try: SELECT last_insert_rowid()

http://www.sqlite.org/lang_corefunc.html

like image 141
Michael Avatar answered Nov 12 '22 02:11

Michael


Check out the FAQ. The sqlite3_last_insert_rowid() function will do it. Careful of triggers though.

like image 23
Robert Wagner Avatar answered Nov 12 '22 03:11

Robert Wagner