grumfish wrote:
I'm trying to add a row to a MySQL table using insert. Here is the code:

connection = MySQLdb.connect(host="localhost", user="root", passwd="pw", db="japanese")
cursor = connection.cursor()
cursor.execute("INSERT INTO edict (kanji, kana, meaning) VALUES (%s, %s, %s)", ("a", "b", "c") )
connection.close()

which version of MySQLdb are you running? versions 1.1.6 and below gained a connection.autocommit) method set by default to *false*.

Try this, instead:

connection = MySQLdb.connect(host="localhost", user="root", passwd="pw", db="japanese")

connection.autocommit(True)   # <--- note this
cursor = connection.cursor()

...other commands...

doing this you tell MySQL to automatically commit changes to db after
every UPDATE or INSERT.  turning autocommit to false is useful when
you wish to do changes in batches and maybe rollback the entire operation
if something went wrong (see commit() and rollback() methods for this).

hope this helps,
deelan.

--
"Però è bello sapere che, di questi tempi spietati, almeno
un mistero sopravvive: l'età di Afef Jnifen." -- dagospia.com
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to