Python MySQLdb не вставляет данные

версия ubuntu: 12.10
версия сервера mysql: 5.5.29-0
версия python: 2.7

Я пытаюсь использовать MySQLdb для вставки данных на мой локальный сервер mysql. Я не получаю никаких ошибок при запуске скрипта, но данные не вводятся в мою таблицу. Я просматриваю таблицы с помощью phpmyadmin.

Я попытался вернуться к основам и следовать учебнику, но тот же результат. Странно то, что я могу создавать и удалять таблицы, но не могу вводить данные.

Код из учебника даже сообщает, что было вставлено 4 строки. Что мешает занести данные в таблицу, когда скрипт сообщает, что все нормально??

cursor = conn.cursor () 
cursor.execute ("DROP TABLE IF EXISTS animal") 
cursor.execute (""" 
        CREATE TABLE animal 
        ( 
            name CHAR(40), 
            category CHAR(40) 
        ) 
    """) 
cursor.execute (""" 
        INSERT INTO animal (name, category) 
        VALUES 
            ('snake', 'reptile'), 
            ('frog', 'amphibian'), 
            ('tuna', 'fish'), 
            ('racoon', 'mammal') 
    """) 
print "%d rows were inserted" % cursor.rowcount 

person BubbleGuppies    schedule 18.02.2013    source источник
comment
Возможно ли, что курсор завернут в транзакцию?   -  person AndrewP    schedule 18.02.2013
comment
Я не уверен, но вы не забыли добавить ; в конце оператора вставки?   -  person Srinivas Reddy Thatiparthy    schedule 18.02.2013
comment
AndrewP: Я не знаю, что это значит. Darklord: Я поставил точку с запятой, и ничего не изменилось. Я не получаю никаких ошибок и даже заворачиваю код в инструкцию try/except без сбоев. Я думаю, что это не код, а что-то шаткое с конфигурацией. Я буду продолжать попытки или, может быть, сдамся и попробую библиотеку Oracle.   -  person BubbleGuppies    schedule 19.02.2013


Ответы (1)


Добавлять :

conn.commit()

внизу вашего скрипта.

Кстати, взгляните на следующее: http://mysql-python.sourceforge.net/MySQLdb.html

person Ketouem    schedule 19.02.2013
comment
Указанная библиотека достаточно устарела и для нее существует активно поддерживаемый форк. Исходный код github.com/PyMySQL/mysqlclient, документация mysqlclient.readthedocs.io. - person jbmeerkat; 15.03.2021