|
Python MySql connector, уровни изоляции?
|
|||
---|---|---|---|
#18+
Всех приветствую. Столкнулся со странной (на мой взгляд) ситуацией: в python-скрипте создаю два коннекшена - один для селекта, другой для инсерта. Соответственно, в первом курсор для Select-запроса, во втором для Insert. В цикле читаю из первого курсора, обрабатываю и через второй курсор вставляю в таблицу. По окончании комичу insert-коннекшен. Через стороннего клиента к базе после комита вижу добавленную информацию. Но через первый select-коннекшен я ее не вижу. Информация доступна только после закрытия select-коннекшена и нового подключения при помощи него. Возможно, при создании коннекшена надо какие-то параметры выставлять? python-коннектор взят с официального сайта mysql ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2021, 22:21 |
|
Python MySql connector, уровни изоляции?
|
|||
---|---|---|---|
#18+
Нет, это нормальная ситуация. У тебя на уровне БД включен режим изоляции транзакций. Проще всего, в твоем случае: выдай в "читающий" коннект "commit" - это закроет транзакцию и следующий select будет уже новой транзакцией. Вручную begin transaction вызывать не обязательно, БД автоматически открывает транзакцию при получении первой же команды пришедшей от клиента. Подробнее об этом можешь в вики почитать. https://ru.wikipedia.org/wiki/Уровень_изолированности_транзакций А более точно, спроси у своего DBA какая у тебя БД, какой уровень изоляции включен и читай документацию на твою конкретную БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2021, 05:04 |
|
|
start [/forum/topic.php?fid=23&fpage=2&tid=1459408]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 249ms |
total: | 363ms |
0 / 0 |