2010-06-09 7 views

Répondre

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

Merci! Cet exemple a parfaitement fonctionné pour ce dont j'avais besoin. Je n'ai pas essayé l'autre réponse, mais supposer que cela aurait aussi fonctionné. – javovo

+0

Faites attention en utilisant cette méthode si vous faites beaucoup de changements dans une instance de curseur avant d'appeler commit(). Vous pourriez ne pas obtenir les valeurs que vous voulez. – onetwopunch

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

last_insert_rowid() Le last_insert_rowid() renvoie le numéro de ligne de la dernière plaquette de ligne de la connexion de base de données qui invoque la fonction. La fonction SQL last_insert_rowid() est un wrapper autour de la fonction d'interface C/C++ sqlite3_last_insert_rowid().

Questions connexes