2010-06-09 15 views

Respuesta

10

Cursor.lastrowid

>>> import sqlite3 
>>> conn = sqlite3.connect(":memory:") 
>>> c = conn.cursor() 
>>> c.execute("create table t (id integer, some text);") 
<sqlite3.Cursor object at 0x00C64CE0> 
>>> c.execute("insert into t values(1,'a');") 
<sqlite3.Cursor object at 0x00C64CE0> 
>>> c.lastrowid 
1 
+0

Gracias! Este ejemplo funcionó perfectamente para lo que necesitaba. No intenté con la otra respuesta, pero supongo que también habría funcionado. – javovo

+0

Tenga cuidado al usar este método si está haciendo muchos cambios dentro de una instancia de cursor antes de llamar a commit(). Es posible que no obtenga los valores que desea. – onetwopunch

6
SELECT last_insert_rowid() -- same as select @@identity 

last_insert_rowid() La función last_insert_rowid() Devuelve el identificador de la última inserción de fila de la conexión de base de datos que invoca la función. La función de SQL last_insert_rowid() es un contenedor de la función de interfaz C/C++ sqlite3_last_insert_rowid().

Cuestiones relacionadas