MySql

ftc ftc at chez.com
Thu Jul 27 06:43:24 EDT 2006


miker2 at optusnet.com.au a écrit :
> import MySQLdb
> base = MySQLdb.connect(host="localhost", 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 ) )



More information about the Python-list mailing list