473,775 Members | 2,583 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

MySql

HI,

I'm having trouble writing to a MySql db using python and the MySQLdb
module. Here is the code:

import MySQLdb
base = MySQLdb.connect (host="localhos t", user="blah", passwd="blah",
db="test_py")
cursor = base.cursor()
cursor.execute( "INSERT INTO table (field) VALUES (int)")

this does not work but the interesting thing is, there is an
AUTO_INCREMENT
field. Now say i had a couple of entries in there already:
auto table
1 | 90
2 | 32

and then i run my py script 3 times, the data is not entered but if i
add
another entry from mysql the auto increment field will have counted the

python entries:
auto table
1 | 90
2 | 32
6 | 47

please tell me what i am doing wrong. thanks.

Jul 27 '06 #1
13 1963
In <11************ *********@i3g20 00cwc.googlegro ups.com>, miker2 wrote:
import MySQLdb
base = MySQLdb.connect (host="localhos t", user="blah", passwd="blah",
db="test_py")
cursor = base.cursor()
cursor.execute( "INSERT INTO table (field) VALUES (int)")

this does not work but the interesting thing is, there is an
AUTO_INCREMENT
field. Now say i had a couple of entries in there already:
auto table
1 | 90
2 | 32

and then i run my py script 3 times, the data is not entered but if i
add
another entry from mysql the auto increment field will have counted the

python entries:
auto table
1 | 90
2 | 32
6 | 47

please tell me what i am doing wrong. thanks.
Where's the problem? Do you mind that the third entry has a 6 as unique
`auto` value? Doesn't `AUTO_INCREMENT ` just guarantee unique values?

Ciao,
Marc 'BlackJack' Rintsch
Jul 27 '06 #2

Marc 'BlackJack' Rintsch wrote:
In <11************ *********@i3g20 00cwc.googlegro ups.com>, miker2 wrote:
import MySQLdb
base = MySQLdb.connect (host="localhos t", user="blah", passwd="blah",
db="test_py")
cursor = base.cursor()
cursor.execute( "INSERT INTO table (field) VALUES (int)")

this does not work but the interesting thing is, there is an
AUTO_INCREMENT
field. Now say i had a couple of entries in there already:
auto table
1 | 90
2 | 32

and then i run my py script 3 times, the data is not entered but if i
add
another entry from mysql the auto increment field will have counted the

python entries:
auto table
1 | 90
2 | 32
6 | 47

please tell me what i am doing wrong. thanks.

Where's the problem? Do you mind that the third entry has a 6 as unique
`auto` value? Doesn't `AUTO_INCREMENT ` just guarantee unique values?

Ciao,
Marc 'BlackJack' Rintsch
the problem is that the entry from python: cursor.execute( "INSERT INTO
table (field) VALUES (3)") is not there.

the auto increment counts the entries 1,2,3,4,5, ect. the 3,4,5 in
the example above is where i've run the py script and as you can see
there are not there. the 6 is an entry from mysql.

so basically the data from python is not being entered but the auto
increment is being counted. thanks.

sorry about the dodgie description.

Jul 27 '06 #3
mi****@optusnet .com.au wrote:
HI,

I'm having trouble writing to a MySql db using python and the MySQLdb
module. Here is the code:

import MySQLdb
base = MySQLdb.connect (host="localhos t", user="blah", passwd="blah",
db="test_py")
cursor = base.cursor()
cursor.execute( "INSERT INTO table (field) VALUES (int)")
I've never used MySQL but they're all much the same --
"table" is a reserved word. What is "int" supposed to be? That's not
valid SQL AFAIK. Is that exactly what you typed? Or are you coyly
obfuscating?

Try this:
cursor.execute( "INSERT INTO tablename (fieldname) VALUES (42)")
or better,
somevar = 42
cursor.execute( "INSERT INTO tablename (fieldname) VALUES (?)",
(somevar,))
even better, read the docs and look at the examples :-)

>
this does not work
.... and the error message was ... what? If it's not a state secret, how
about divulging it?

but the interesting thing is, there is an
AUTO_INCREMENT
field. Now say i had a couple of entries in there already:
auto table
1 | 90
2 | 32

and then i run my py script 3 times, the data is not entered but if i
add
another entry from mysql the auto increment field will have counted the

python entries:
auto table
1 | 90
2 | 32
6 | 47
Evidently it's committed the auto increment before it decides that it
doesn't like your SQL or whatever. Read the warranty card that came
with the autoincrementer gizmoid; you won't find "continuous " or "no
gaps" mentioned anywhere.
please tell me what i am doing wrong.
Inter alia, not giving enough clear unambiguous info about what your
problem really is.

Cheers,
John

Jul 27 '06 #4

John Machin wrote:
mi****@optusnet .com.au wrote:
HI,

I'm having trouble writing to a MySql db using python and the MySQLdb
module. Here is the code:

import MySQLdb
base = MySQLdb.connect (host="localhos t", user="blah", passwd="blah",
db="test_py")
cursor = base.cursor()
cursor.execute( "INSERT INTO table (field) VALUES (int)")

I've never used MySQL but they're all much the same --
"table" is a reserved word. What is "int" supposed to be? That's not
valid SQL AFAIK. Is that exactly what you typed? Or are you coyly
obfuscating?

Try this:
cursor.execute( "INSERT INTO tablename (fieldname) VALUES (42)")
or better,
somevar = 42
cursor.execute( "INSERT INTO tablename (fieldname) VALUES (?)",
(somevar,))
even better, read the docs and look at the examples :-)


this does not work

... and the error message was ... what? If it's not a state secret, how
about divulging it?

but the interesting thing is, there is an
AUTO_INCREMENT
field. Now say i had a couple of entries in there already:
auto table
1 | 90
2 | 32

and then i run my py script 3 times, the data is not entered but if i
add
another entry from mysql the auto increment field will have counted the

python entries:
auto table
1 | 90
2 | 32
6 | 47

Evidently it's committed the auto increment before it decides that it
doesn't like your SQL or whatever. Read the warranty card that came
with the autoincrementer gizmoid; you won't find "continuous " or "no
gaps" mentioned anywhere.
please tell me what i am doing wrong.

Inter alia, not giving enough clear unambiguous info about what your
problem really is.

Cheers,
John

sorry guys...

forget about the auto incrementer for a second.

the entry is not being recorded. that is my problem. the script does
not work. thanks.

Jul 27 '06 #5
mik...@optusnet .com.au wrote:
John Machin wrote:
mi****@optusnet .com.au wrote:
HI,
>
I'm having trouble writing to a MySql db using python and the MySQLdb
module. Here is the code:
>
import MySQLdb
base = MySQLdb.connect (host="localhos t", user="blah", passwd="blah",
db="test_py")
cursor = base.cursor()
cursor.execute( "INSERT INTO table (field) VALUES (int)")
I've never used MySQL but they're all much the same --
"table" is a reserved word. What is "int" supposed to be? That's not
valid SQL AFAIK. Is that exactly what you typed? Or are you coyly
obfuscating?

Try this:
cursor.execute( "INSERT INTO tablename (fieldname) VALUES (42)")
or better,
somevar = 42
cursor.execute( "INSERT INTO tablename (fieldname) VALUES (?)",
(somevar,))
even better, read the docs and look at the examples :-)

>
this does not work
... and the error message was ... what? If it's not a state secret, how
about divulging it?

but the interesting thing is, there is an
AUTO_INCREMENT
field. Now say i had a couple of entries in there already:
auto table
1 | 90
2 | 32
>
and then i run my py script 3 times, the data is not entered but if i
add
another entry from mysql the auto increment field will have counted the
>
python entries:
auto table
1 | 90
2 | 32
6 | 47
Evidently it's committed the auto increment before it decides that it
doesn't like your SQL or whatever. Read the warranty card that came
with the autoincrementer gizmoid; you won't find "continuous " or "no
gaps" mentioned anywhere.
please tell me what i am doing wrong.
Inter alia, not giving enough clear unambiguous info about what your
problem really is.

Cheers,
John


sorry guys...

forget about the auto incrementer for a second.

the entry is not being recorded. that is my problem. the script does
not work. thanks.
OK we've forgotten about the auto incrementer.

Now tell us what "does not work" means.
Show us an actual suitably-cut down script that "does not work".
If you get an error message, tell us what the error message was.
If you didn't get an error message, bloody well tell us that you
didn't.

BTW, if the script doesn't contain

base.commit()

somewhere, take yourself out to the back lane and give yourself a good
thumping :-)
Then come back in and read the docs about transactions and commit and
autocommit etc.

HTH,
John

Jul 27 '06 #6

mi****@optusnet .com.au wrote:
sorry guys...

forget about the auto incrementer for a second.

the entry is not being recorded. that is my problem. the script does
not work. thanks.
after Dijkstra: "the use of mySql cripples the mind; its teaching
should, therefore, be regarded as a criminal offence. "

thus said, which mysql engine are you using for your DB? is it
transactional, should you commit?

Jul 27 '06 #7
John Machin schrieb:
>
BTW, if the script doesn't contain

base.commit()

somewhere, take yourself out to the back lane and give yourself a good
thumping :-)
That's not really fair, because transactions were added to MySQL only a
short time ago (at least to the default table type). There simply hasn't
yet been time for every experienced MySQL user to get hit by the need to
commit things.

--
Dr. Sibylle Koczian
Universitaetsbi bliothek, Abt. Naturwiss.
D-86135 Augsburg
e-mail : Si************* @Bibliothek.Uni-Augsburg.DE
Jul 27 '06 #8
ftc
mi****@optusnet .com.au a écrit :
import MySQLdb
base = MySQLdb.connect (host="localhos t", user="blah", passwd="blah",
db="test_py")
cursor = base.cursor()
cursor.execute( "INSERT INTO table (field) VALUES (int)")

this does not work but the interesting thing is, there is an
AUTO_INCREMENT
field. Now say i had a couple of entries in there already:
auto table
1 | 90
2 | 32

and then i run my py script 3 times, the data is not entered but if i
add
another entry from mysql the auto increment field will have counted the

python entries:
auto table
1 | 90
2 | 32
6 | 47

please tell me what i am doing wrong. thanks.

The dbapi2 specification says:
"if the database supports an auto-commit feature, this must be initially
off"

So you have to do a commit ( base.commit() ) or to enable auto-commit at
the beginning ( base.autocommit ( True ) )
Jul 27 '06 #9

Sibylle Koczian wrote:
John Machin schrieb:

BTW, if the script doesn't contain

base.commit()

somewhere, take yourself out to the back lane and give yourself a good
thumping :-)

That's not really fair, because transactions were added to MySQL only a
short time ago (at least to the default table type). There simply hasn't
yet been time for every experienced MySQL user to get hit by the need to
commit things.
As I said earlier, I don't use MySQL. I wasn't aware it didn't have
transactions -- what did people use it for, then? So is the upshot is
that he should thump himself for using a DBMS w/o transactions,
perhaps?

Cheers,
John

Jul 27 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
10284
by: francescomoi | last post by:
Hi. I'm trying to build 'MySQL-python-1.2.0' on my Linux FC2: ---------------------------------- # export PATH=$PATH:/usr/local/mysql/bin/ # export mysqlclient=mysqlclient_r # python setup.py clean # python setup.py build running build running build_py
4
1305
by: mikey | last post by:
Hi all, I'm having great problems trying to install the latest MySQl RPM package onto my Red Hat Linux OS. There is already MySQL v 3.0 pre-installed with the RH Linux distribution disk but I can not seem to get any of the functions working on it. So I have now dopwnloaded the latest version hoping that this will fix the error. I have managed to install the MySQL-shared-compat-4.0.1-0.i386.rpm but
0
1471
by: Yun Guan | last post by:
Hello mysql gurus, I am trying to run perl on mysql database on Red Hat box. I want to install DBI and DBD:mysql using CPAN: perl -MCPAN -e shell cpan>install DBI The above succeeded, but cpan>install DBD::mysql
0
3948
by: Mike Chirico | last post by:
Interesting Things to Know about MySQL Mike Chirico (mchirico@users.sourceforge.net) Copyright (GPU Free Documentation License) 2004 Last Updated: Mon Jun 7 10:37:28 EDT 2004 The latest version of this document can be found at: http://prdownloads.sourceforge.net/souptonuts/README_mysql.txt?download
2
2364
by: Saqib Ali | last post by:
I installed mySQL and have it running.... but I think I made a mistake somewhere along the line...... I believe I did follow the instructions that were provided with the distribution at: http://dev.mysql.com/downloads/ The database is up. It seems that a test database instance has been created (named "test"). I can see it. However, the other database instance that should have been created, named "mysql" doesn't show up when I do "show...
1
3825
by: Alex Hunsley | last post by:
I am trying to install the DBD::mysql perl module. However, it claims I need mysql.h: cpan> install DBD::mysql CPAN: Storable loaded ok Going to read /home/alex/.cpan/Metadata Database was generated on Mon, 29 Nov 2004 16:01:05 GMT Running install for module DBD::mysql Running make for R/RU/RUDY/DBD-mysql-2.9004.tar.gz CPAN: Digest::MD5 loaded ok
0
1884
by: ./Rob & | last post by:
Hi gang: I'm experiencing a problem with MySQL -- I updated MySQL from version 4.1.0 to 4.1.10 and now when I login as root it doesn't show all the databases I should have access to, nor it doesn't recognize me being logged in as root (via CURRENT_USER().) Here it is, line-by-line. Inline comments are denoted by '//'
2
2905
by: trihanhcie | last post by:
I m currently working on a Unix server with a fedora 3 as an os My current version of mysql is 3.23.58. I'd like to upgrade the version to 5.0.18. After downloading from MYSQL.COM the package on the site, I made : rpm -i MySQL-server-5.0.18-0.i386.rpm then i have errors that relate to many conflicts. I cannot figure out why -and- cannot upgrade. Please Help !
1
3227
by: manish deshpande | last post by:
Hi, When i'm installing MySQL-server-standard-5.0.24a-0.rhel3.i386.rpm by the following command: rpm -i MySQL-server-standard-5.0.24a-0.rhel3.i386.rpm the following error is being shown: warning: MySQL-server-standard-5.0.24a-0.rhel3.i386.rpm: V3 DSA signature: NOKEY, key ID 5072e1f5 file /etc/my.cnf from install of MySQL-server-standard-5.0.24a-0.rhel3 conflicts with file from package mysql-3.23.58-1 file...
3
8831
by: menzies | last post by:
Hi, I"m new to this forum, but I have been trying all day to install DBD::mysql onto my Intel MacBook. I've read lots of forums pages and none have gotten me to a successful 'make test' or a successful 'sudo make install.' Before every attempt I even do a sudo make distclean to make sure I haven't gotten things mucked up from a prior attempt. OS: Mac OS X 10.4.10 MySQL: v5.0.41 for Mac OSX-i686 DBI: v1.58 (installed fine using CPAN)...
0
9622
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9454
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
1
10048
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9916
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8939
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7464
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6718
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
2
3611
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2853
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.