У меня проблемы с обновлением строки в базе данных MySQL. Вот код, который я пытаюсь запустить:
import MySQLdb
conn=MySQLdb.connect(host="localhost", user="root", passwd="pass", db="dbname")
cursor=conn.cursor()
cursor.execute("UPDATE compinfo SET Co_num=4 WHERE ID=100")
cursor.execute("SELECT Co_num FROM compinfo WHERE ID=100")
results = cursor.fetchall()
for row in results:
print row[0]
print "Number of rows updated: %d" % cursor.rowcount
cursor.close()
conn.close()
Вывод, который я получаю при запуске этой программы:
4
Количество обновленных строк: 1
Кажется, что это работает, но если я запрашиваю базу данных из интерфейса командной строки (CLI) MySQL, я обнаруживаю, что она вообще не обновлялась. Однако, если из CLI я ввожу UPDATE compinfo SET Co_num=4 WHERE ID=100;
, база данных обновляется, как и ожидалось.
В чем моя проблема? Я использую Python 2.5.2 с MySQL 5.1.30 на Windows-коробке.