Liam Clarke wrote:
Hi,

This is a SQL query for the advanced db gurus among you (I'm looking at Kent...)

Uh oh, you're in trouble if you think I'm an "advanced db guru" :-)

After I've run an insert statement, should I get the new primary key (it's autoincrementing) by using PySQLite's cursor.lastrowid in a select statement, or is there a more SQLish way to do this?

AFAIK there is no standard SQL way to do this, it is database-dependent. Python DB-API provides a portable interface using lastrowid; I would use that.


You don't have to do another select, lastrowid is an attribute of the cursor itself. It calls the SQLite function sqlite_last_insert_rowid().

In the SQL books I've got, they always seem to have an optional select
statement on the end of inserts/updates, and I was thinking maybe I
could do it that way also, but I can't figure out a logical way of
putting

'select primary_key from foo where primary_key value > every other
primary_key value'

Use cursor.lastrowid, that's what it is for.

Kent

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to