затронуты строки mysql да, но таблица все еще пуста

0

У меня есть скрипт Python, говорящий с базой данных MySQL.

Этот скрипт работает отлично в течение нескольких месяцев.

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

В сценарии много операторов печати и обработчиков ошибок, и он по-прежнему работает точно так, как если бы он работал, но ничего не отображается в базе данных.

Он даже распечатывает "затронутые строки: 108" или что-то еще, но когда я смотрю на базу данных в phpMyAdmin, он говорит, что в таблице есть нулевые строки.

Единственное, что он сделает, это обрезать таблицы. В начале есть раздел, который обрезает соответствующие таблицы, чтобы сценарий мог начать заполнять их снова. Если я вручную создаю новую строку в таблице через phpMyAdmin, эта строка исчезнет при запуске скрипта, например, при правильном усечении таблиц. Но ничто после этого ничего не делает. Он по-прежнему работает без ошибок, но фактически не изменяет базу данных.

  • 3
    В прошлый раз, когда я использовал MySQL-коннектор Python, по умолчанию он не фиксирует транзакции. Вы должны совершить явно. Может быть, есть глобальный конфиг, который контролирует это? Принимая во внимание, что TRUNCATE TABLE выполняет неявную фиксацию независимо от клиента. Так что я думаю, что-то изменилось в конфигурации вашего приложения, так что оно больше не фиксирует обновления.
Теги:
rows

1 ответ

0

Спасибо, да, по какой-то причине сценарий больше не был автоматическим по умолчанию.

Я добавил "cnx.autocommit(True)", и он снова работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню