Am I interacting with the database correctly?
John Fabiani
jfabiani at yolo.com
Sun Jan 18 10:54:06 EST 2009
Hussein B wrote:
> Hey,
> I'm new with database interactions in Python and I'm not sure if I'm
> handling the cursor and transactions correctly:
> ++++++++
> cursor = db.cursor(MySQLdb.cursors.DictCursor)
> cursor.execute(flate_rate_pkgs_sql)
> rows = cursor.fetchall()
> #I have for loop here to iterate over rows
> cursor.execute()
> rows = cursor.fetchall()
> # some more cursor.execute() calls but only SQL select statements
> # here is another for loop that contains try block
> # here are cursor.execute() calls, both insert and update
> db.commit()
> # in the except code block, I use db.rollback()
> ++++++++
> As you see, my script contains only one db object and one cursor
> object and both the db and cursor objects are used multiple times, it
> is ok?
> As you might figured, this is a script for reports :)
> Thanks.
I have never worked with MySQL. I do work with others. The first part
looks fine. If you insert, update or delete then you need a 'commit' or
a 'rollback'. Preparing data for a report it is unlikely that you need to
commit or rollback anything. After all you are only using 'select'.
John
More information about the Python-list
mailing list