INSERT statements not INSERTING when using mysql from python

johnf jfabiani at yolo.com
Fri Dec 29 06:30:00 EST 2006


Ben wrote:

> I don't know whether anyone can help, but I have an odd problem. I have
> a PSP (Spyce) script that makes many calls to populate a database. They
> all work without any problem except for one statement.
> 
> I first connect to the database...
> 
> self.con = MySQLdb.connect(user=username, passwd =password)
> self.cursor = self.con.cursor()
> self.cursor.execute("SET max_error_count=0")
> 
> All the neccesary tables are created...
> 
> self.cursor.execute("CREATE DATABASE IF NOT EXISTS "+name)
> self.cursor.execute("USE "+name)
> 
> self.cursor.execute("CREATE TABLE IF NOT EXISTS networks (SM
> varchar(20),DMC int,DM varchar(50),NOS int,OS varchar(50),NID
> varchar(20))
> 
> Then I execute many insert statements in various different loops on
> various tables, all of which are fine, and result in multiple table
> entries. The following one is executed many times also. and seems
> identical to the rest. The print statements output to the browser
> window, and appear repeatedly, so the query must be being called
> repeatedly also:
> 
> print "<p><b>SQL query executing</b><p>"
> self.cursor.execute("INSERT INTO networks VALUES ('a',' "+i+"
> ','c','2','e','f','g')")
> print "<p><b>SQL query executed</b><p>"
> 
> I have, for debugging, set "i" up as a counter variable.
> 
> No errors are given, but the only entry to appear in the final database
> is that from the final execution of the INSERT statement (the last
> value of i)
> 
> I suspect that this is to vague for anyone to be able to help, but if
> anyone has any ideas I'd be really grateful :-)
> 
> It occured to me that if I could access the mysql query log that might
> help, but I was unsure how to enable logging for MysQL with python.
>  
> Cheers,
> 
> Ben

Not sure this will help but where is the "commit"?  I don't use MySQL but
most SQL engines require a commit.
Johnf



More information about the Python-list mailing list