Я не совсем уверен, как это сказать, однако мой пример должен помочь. Я столкнулся со следующей проблемой:Несколько запросов к одному набору данных
Есть 3 участников торгов в аукционе:
- Первые торги $ 1, а их счета вычитается из этой суммы.
- Второй участник торгов предлагает $ 2, поэтому первая ставка возвращается, а баланс второго вычитается.
- Однако сценарий, возвращающий первого участника торгов, еще не завершен, а третий участник торгов отправляет запрос на торгах 3 доллара.
- Поскольку сценарий еще не закончен, он по-прежнему выбирает первого участника торгов самым высоким, поэтому начинает возвращать их снова.
После того как все эти сценарии закончили выполнение, 1 претендент получает возвращается дважды и претендент 2 в ставку только исчезла.
Я использую mysql для хранения информации о ставках и php для выполнения запросов.
Я слышал, что Database Transactions может помочь, но я не совсем уверен, как.
Почему любые деньги будут перемещены по * предложению *? это должно произойти только в конце. –
Наш сайт не использует деньги, он использует своего рода виртуальную валюту. Это сложно, но имеет денежную ценность в долгосрочной перспективе - вычет немедленно предотвращает злоупотребление нашими системами. –
Это не то, как любой аукцион должен работать –