Uważam, że @Jason Creighton i @S.Lott mają rację.
Przynajmniej jeśli aktualizowana tabela znajduje się w transakcyjnym aparacie pamięci masowej. InnoDB
jest transakcyjny, ISAM
nie jest.
Musisz albo wywołać commit()
w obiekcie połączenia przed jego zamknięciem lub musisz ustawić połączenie w tryb automatycznego zatwierdzania. Nie jestem pewien, jak to zrobić dla połączenia MySQLdb, myślę, że albo ustawisz argument konstruktora połączenia, albo ustawisz właściwość po utworzeniu obiektu połączenia.
Coś takiego:
conn = mysql.connection(host, port, autocommit=True)
# or
conn = mysql.connection(host, port)
conn.autocommit(True)