Y a-t-il un équivalent sqlite à INSERT ...; SELECT @@ IDENTITY? Si c'est le cas, montrez-moi le code ou signalez-le moi.Python/sqlite - sélection des enregistrements après l'insertion
Merci! fonction
Y a-t-il un équivalent sqlite à INSERT ...; SELECT @@ IDENTITY? Si c'est le cas, montrez-moi le code ou signalez-le moi.Python/sqlite - sélection des enregistrements après l'insertion
Merci! fonction
>>> 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
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().
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
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