Re: INSERT statements not INSERTING when using mysql from python
- From: "Ben" <Benjamin.Barker@xxxxxxxxx>
- Date: 29 Dec 2006 03:53:16 -0800
One partial explanation might be that for some reason it is recreating
the table each time the code runs. My code says "CREATE TABLE IF NOT
EXISTS" but if for some reason it is creating it anyway and dropping
the one before that could explain why there are missing entires.
It wouldn't explain why the NOT EXISTS line is being ignored though...
Ben
Ben wrote:
I initially had it set up so that when I connected to the database I
started a transaction, then when I disconnected I commited.
I then tried turning autocommit on, but that didn't seem to make any
difference (althouh initially I thought it had)
I'll go back and see what I can find...
Cheers,
Ben
johnf wrote:
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
.
- Follow-Ups:
- References:
- Prev by Date: Re: INSERT statements not INSERTING when using mysql from python
- Next by Date: Re: Scaling pictures
- Previous by thread: Re: INSERT statements not INSERTING when using mysql from python
- Next by thread: Re: INSERT statements not INSERTING when using mysql from python
- Index(es):
Relevant Pages
|