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