Модуль Python MYSQLDB - PullRequest
       9

Модуль Python MYSQLDB

0 голосов
/ 17 декабря 2009

Я использую модуль Python MySQLdb на машине FC11. Здесь у меня есть проблема. У меня есть следующая реализация для одного из наших требований:

  1. подключиться к mysqldb и получить дескриптор БД, открыть курсор, выполнить оператор удаления, зафиксировать и затем закрыть курсор.
  2. Снова используя описанный выше дескриптор БД, я выполняю оператор «выбор» в одной другой таблице с использованием курсора, как описано выше.

Мне удалось удалить несколько записей с помощью Step1, но выбор step2 не работает. Он просто не дает записей для шага 2, хотя есть некоторые записи, доступные в БД.

Но, когда я комментирую step1 и выполняю step2, я мог видеть, что step2 работает нормально. Почему это так?

Хотя есть записи, почему приведенная выше последовательность не дает этого сделать? Любые идеи будут оценены.

Спасибо!

Ответы [ 3 ]

0 голосов
/ 18 декабря 2009

Звучит так, как будто первый курсор возвращается ко второму шагу.

0 голосов
/ 22 декабря 2009

ты пробовал

records = cur.fetchall()

0 голосов
/ 17 декабря 2009

Без кода я могу только догадываться: попробуйте не закрывать курсор, пока не закончите с этим соединением. Я думаю, что повторный вызов cursor () после вызова cursor.close () просто даст вам ссылку на тот же курсор, который больше не может использоваться для запросов.

Я не уверен на 100%, является ли это предполагаемым поведением, но я не видел примеров открытия и закрытия курсоров MySQLDB в одном соединении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...