Problem With Insert with MySQLdb
Sibylle Koczian
Sibylle.Koczian at Bibliothek.Uni-Augsburg.de
Mon Oct 31 05:27:12 EST 2005
Gerhard Häring schrieb:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> David Mitchell wrote:
>
>>Hello,
>>
>>I am a complete beginner with Python. I've managed to get mod_python up and
>>running with Apache2 and I'm trying to a simple insert into a table in a
>>MySQL database.
>>
>>I'm using the MySQLdb library for connectivity. I can read from the database
>>no problem, but when I do an insert, the value never gets added to the
>>database, even though there is no error, and the SQL is fine (I print out
>>the SQL statement in the function). When I copy and paste the sql from my
>>browser and insert directly into MySQL, it works fine.
>>[...] Am I doing something obviously incorrect here?
>
>
> It appears you forgot to call .commit() on the connection to commit your
> transaction. From what you tell, it also looks like the MySQL
> commandline tool defaults to autocommit (i. e. each statement is wrapped
> in an implicit BEGIN ... COMMIT.
>
> If you have no idea what a transaction is or what the heck the BEGIN,
> COMMIT or ROLLBACK commands are for (corresponding to .commit() and
> .rollback() methods of the DB-API2 connection object, BEGIN is issued
> implicitly), then the MySQL documentation will probably answer that.
>
What sort of table do you use? MyISAM isn't transaction oriented, and
that's the standard. So that most probably isn't the problem.
--
Dr. Sibylle Koczian
Universitaetsbibliothek, Abt. Naturwiss.
D-86135 Augsburg
e-mail : Sibylle.Koczian at Bibliothek.Uni-Augsburg.DE
More information about the Python-list
mailing list