2012-04-04 2 views
8

Я использую Python 2.7 с MySQLdb 32bit, а также MySQL 5.5.8, работающий локально.Python MySQL: не показывать вставленные записи

Я свожу с ума от этого, я никогда не видел ничего подобного.

В принципе, я вставлять записи в MySQL из Python через:

db=MySQLdb.connect(host="localhost",user="root", passwd="mypassword",db="python",port=3307) 
cur=db.cursor() 
cur.execute("INSERT INTO mytable(myfield) VALUES(%s);","somedata") 

Я проверил, что он правильно подключен и что он может успешно SELECT данные из базы данных.

Это нечетная часть: Из MySQL Query Browser (GUI tool) И из MySQL через CMD я не могу видеть вставленные записи.

можно вставлять и выбирать записи из моего Python скрипт, но они не отображаются в моей базе данных, он просто возвращает Empty Set (0.00 sec)

А вот действительно странно часть: я могу укоротить и удалять данные из графического интерфейса и с консоли.

Подводя итог: я могу вставлять и выбирать данные из сценария Python. Я не могу видеть эти данные в MySQL. Однако я могу усечь и удалить эти данные с помощью MySQL.

Я полностью потерян в этой точке.

ответ

18

Если ваш код работает в консоли, но не иначе, я считаю, нужно добавить строку

db.autocommit(True) 

После подключения или вам нужно сделать db.commit() после ваших вставок.

+0

Является ли метод 'commit' не на' db' в этом случае? – exhuma

+0

Вы абсолютно правы @exhuma, моя ошибка. –

+0

Хотел бы я найти это в примерах в документации ... Спасибо !!! Я приму ваш ответ в ок. 4 минуты! – MrZander

Смежные вопросы