[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: MySQL конкурентный доступ
inmaxim93
Здравствуйте, как заблокировать определенную строку в таблице на время выполнения запросов UPDATE, чтобы к этой строке невозможно было получить доступ другому пользователю.

Я попробовал использовать FOR UPDATE, чтобы заблокировать строку
SELECT `id` FROM `users` FOR UPDATE;
но MySQL сервер возвращает ошибку

Цитата

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0, 50' at line 2


Я хочу не допустить выполнения одновременных запросов UPDATE в этом случае.
Например:
SELECT `id` FROM `users` FOR UPDATE;
UPDATE `users` SET `money` = `money` - 1.0000 WHERE `id` = 12345;
COMMIT;


Как использовать транзакции в этом случае?

walerus
Гугл сегодня видимо у большинства заблокирован...
Link
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.