LINUX.ORG.RU

Повисает запрос к базе через pymysql

 , ,


0

2
sql = "UPDATE t_run SET day_flag = 0 WHERE user_id = %s"
cursor.execute(sql, (data['userid'], ))



Так вот, cursor.execute повисает. Т.е. апдейт выполняется (в базу изменения вносятся), но далее скрипт повисает намертво и ничего после cursor.execute не выполняется.
В чем может быть проблема?

MariaDB 10.1.2.3
Python 3.4.2
Debian Jessie

★★★★★

Последнее исправление: Qwentor (всего исправлений: 1)
Ответ на: комментарий от menangen

я маленький кусок кода скинул. ВЫше там есть

with connection.cursor() as cursor:

Qwentor ★★★★★
() автор топика
Ответ на: комментарий от gruy

Дело в том, что если делать такой запрос из консоли, то все проходит ок, а если из скрипта, то не ок:

1205, 'Lock wait timeout exceeded; try restarting transaction'


Сейчас выяснил, что такое происходит, если в скрипте 2 коннекта.
Т.е. у меня сервер, а в нем 2 базы. Создаются коннекты к двум базам.
Так вот, если делать коннект не к базам, а к серверу, а во всех запросах прописать имя базы напрямую, то все работает. Если же коннектов 2, то все. Причем другие запросы к ОБОИМ базам работают. А вот к этой конкретной таблице нет.

Qwentor ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.