SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 30.01.2009 12:08:48

Satan
Участник
Зарегистрирован: 10.12.2007
Сообщений: 13

Транзакции, как понять что транзакция находится в процессе?

Возможно ли узнать, была ли выполнена команда START TRANSACTION, но не выпеолнена команда COMMIT?

Неактивен

 

#2 30.01.2009 16:17:30

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Транзакции, как понять что транзакция находится в процессе?

Насколько я знаю, нельзя. С другой стороны, это не очень частое требование - начать транзакцию,
если она не была начата...

Неактивен

 

#3 30.01.2009 16:21:30

Satan
Участник
Зарегистрирован: 10.12.2007
Сообщений: 13

Re: Транзакции, как понять что транзакция находится в процессе?

Ну да, у меня такая ситуация что иногда возникает ошибка Mysql server has gone away
В этом случае транзакция обнуляется, т.е. продолжать после этого делать какие-то инсерты и апдейты нельзя, т.к. предыдущие запросы откатились.
А бывают другие ошибки mysql, при которых не проиходит отката, в этом случае можно спокойно продолжать манипуляции с базой, после чего делать commit.
Вот я думаю как бы мне отслеживать всё это...

Неактивен

 

#4 30.01.2009 17:55:28

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Транзакции, как понять что транзакция находится в процессе?

Думаю, что неплохо отслеживать по типу ошибки smile После has gone away - нужно все равно переподнимать соединение,
а значит, код, который это обслуживает, уже есть.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson