Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите разобраться с транзакциями
 
 автор: prm   (30.01.2008 в 21:07)   письмо автору
 
 

Разбираюсь с транзакциями MySQL. Ситуация такая. Есть база данных некоторых изделий, к примеру, мебель. Несколько пользователей должны иметь возможность редактирования данных. Использую транзакции в режиме AUTOCOMMIT = 0. Теперь вопрос. Два пользователя одновременно пытаются изменить цену товара. Первый отдает команду SET TRANSACTION и начинает редактирование данных(выполняет соответствующие запросы). В это же время второй пользователь с другого компьютера аналогично подает команду SET TRANSACTION и также приступает к редактированию записей. ЧТО БУДЕТ С ДАННЫМИ ПОСЛЕ ЗАВЕРШЕНИЯ ТРАНЗАКЦИЙ? Программирую на С# в MS VS 2005, произойдет ли исключение MySqlException у первого пользователя, когда второй пользователь выполнит команду SET TRANSACTION и приступит к редактированию данных?

Или подскажите, каким образом обрабатывать подобные ситуации.

Тип таблиц InnoDB.

P.S. Прошу сильно не пинать, я еще только учусь... :-)

   
 
 автор: cheops   (31.01.2008 в 14:28)   письмо автору
 
   для: prm   (30.01.2008 в 21:07)
 

Если одна из транзакций не может быть завершена и произошло исключение MySqlException вы должны выполнить команду ROLLBACK - которая отменит все предыдущие запросы в транзакции. После этого предложить пользователю повторить попытку (или сделать это автоматически, если действия пользователя не требуются).

   
 
 автор: prm   (02.02.2008 в 10:23)   письмо автору
 
   для: cheops   (31.01.2008 в 14:28)
 

Еще раз проясним. Если при выполнении одной транзакции первым пользователем другой пользователь с другого компьютера начнет новую транзакцию, то транзакция первого завершится неудачей и будет сгенерировано исключение МуSqlException? Это так?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования