[issue46249] [sqlite3] move set lastrowid out of the query loop and enable it for executemany()
Erlend E. Aasland
report at bugs.python.org
Tue Jan 11 15:30:03 EST 2022
Erlend E. Aasland <erlend.aasland at innova.no> added the comment:
> You don't know on which cursor the last row was inserted [...]
SQLite has no concept of cursors :)
> It also seems that the function really only works for INSERTs and
> not for UPDATEs.
Yes, hence it's name: sqlite3_last_insert_rowid() !
> I'd suggest to deprecate the cursor.lastrowid attribute and
> instead point people to the much more useful [...]
Yes, I think mentioning the RETURNING ROWID trick in the sqlite3 docs is a very nice improvement. Mentioning the last_insert_rowid SQL function is probably also worth consideration.
I'm reluctant to deprecate cursor.lastrowid, though. ATM, I'm leaning towards just keeping the current behaviour.
> But this is your call :-)
I hear you are saying that, but strictly speaking I'm _not_ the sqlite3 module maintainer; I'm just a very eager contributor :)
----------
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue46249>
_______________________________________
More information about the Python-bugs-list
mailing list