Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Параллельное редактирование одной строки. (omickron) 25/10/2011 - 11:38:31
      Re: Блокировкой (Akina) 25/10/2011 - 22:07:11
      Re: Блокировкой (omickron) 27/10/2011 - 11:28:27
      Re: Ну да... (Akina) 27/10/2011 - 17:35:43
      Re: Ну да... (omickron) 31/10/2011 - 19:36:24
      Re: А такой вариант? (omickron) 02/11/2011 - 20:23:34

> Original message text:
> From: omickron - 25/10/2011 - 11:38:31
> Subject:Параллельное редактирование одной строки.
> -----------------
> Приветствую.
> Скажите, пожалуйста, как "классически" решается задача избежания параллельного редактирования одной строки разными пользователями в MySQL?
>


From: omickron - 02/11/2011 - 20:23:34
Subject:А такой вариант?
-----------------
Akina, скажите, пожалуйста, что Вы думаете про такой вариант?

В таблице создаём дополнительное поле (iVersion INT(11) DEFAULT 1), в котором будем хранить текущую версию строки.
Также создаём триггер BEFORE UPDATE SET NEW.iVersion=OLD.iVersion + 1;

Далее в запросы UPDATE ... SET ... WHERE ID=? добавляем AND iVersion=?
таким образом, если в параллельной транзакции строчка была изменена, этот запрос не изменит ни одной строки.

P.S. Случай, когда UPDATE ... SET ... WHERE iField > ? я не использую, поэтому не рассматриваю.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
40690



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |