Python mysql

программирование MySQL python

Такой вот фокус. Делал проект на работе - пайтон скрипт парсит файл и записывает в базу mysql. Всё классно работало и т.п. Думал домой взять на выходных чуть доработать, и вот беда - скрипт не пишет в базу! При этом ошибки не возникает. Скрипт может считать з базы, подсчитать количество записей и т.п., а вот - запись не катит! В то же время, захожу просто в mysql через консоль, копирую запрос на вставку записи из скрипта - и о, чудо - записывает! Запускаю скрипт - фиг там, но зато новую запись видит, падло...
Вот и в чём тут прикол???

Примечание:
скорее всего так и есть, но почему же? ведь в коде ничего не менял...

Примечание:
Да, Я - лошара, прошу прощения. Суть была в движках - myisam срабатывал без транзакций, innodb - ждал коммита, но у меня там стоял ретурн - выход из функции с результатом ))
короче, всё исправил, всё работает, всем спасибо
Ответы:
Очевидно, что не закрывается транзакция
Привет... Дело, похоже действительно в транзакциях. Некоторые компоненты для работы с БД (например в перле) имеют настройку autocommit, но решают ее своеобразно: не посылают commit по окончании. Когда скрипт заканчивается, соединение рвется без коммита - вся транзакция откатывается - работа скрипта в базу не попадает.
Я не очень спец по питонам, но в первую очередь покапал именно туда. Глянуть настройки питона по слову autocommit. Или принудительно расставить транзакции в скрипте
Советую пристально сравнить настройки mysql дома и на работе.


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.