Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с SELECT+UPDATE 
:(
    Опции темы
quiz
Дата 8.9.2005, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 15.8.2005

Репутация: нет
Всего: нет



Доброго времени суток!
Предисловие:
Есть скрипт на php, назовем его pay.php. В нем по порядку идут запросы к базе, сначала выборка параметров покупателя (кол-во денег на счете), затем выборка параметров товара (сколько единиц товара осталось).
Если у покупателя достаточно денег и на складе есть необходимое ему кол-во товаров, то следует UPDATE, вычитающий из кошелька покупателя стоимость покупки и UPDATE, вычитающий 1 единицу товара из таблицы товаров.

Суть проблемы:
Магазин полон посетителей, 2 покупателя (или 3, 10, 100, 500 покупателей) одновременно покупают один товар. В результате их одновременной покупки со склада вычитается только один товар.
Ситуация 2. Логинимся с 2-х компов под одним логином, покупаем одномременно товар. В результате имеем 2 товара, а деньги платим только за 1. Решается запретом одновременного захода, но все же...

Не понимаю в чем проблема.
Может можно как-то упорядочить апдейты и селекты, чтоб они шли в порядке запросов, а то складывается чувство, что все апдейты откладываются "на потом"

Спасибо
PM MAIL   Вверх
Secandr
Дата 8.9.2005, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 6
Всего: 39



Можно времено закрывать на чтение/запись таблицу


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Рыжий
Дата 9.9.2005, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: нет
Всего: 20



Нет нужно все упаковать в одну транзакцию.
Как раз для этой задачи подойдет - если провалиться один запрос - мускул сделает откат всех действий, безопасно и рационально.

Это сообщение отредактировал(а) PHP-Script - 9.9.2005, 23:40
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0398 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.