Я пытаюсь найти лучший способ остановить двойное «бронирование» в моем заявлении.
У меня есть таблица уникальных идентификаторов, каждый из которых может быть продан только один раз.
Моя текущая идея состоит в том, чтобы использовать транзакцию, чтобы проверить, доступны ли выбранные продукты, если они затем вставляются в столбец «статус», что он «зарезервирован» вместе со вставкой «время обновления», то если пользователь продолжает платить Я обновляю статус до «продано».
Каждые 10 минут я проверяю задание cron на наличие «status» = «зарезервировано», которое было обновлено более 10 минут назад, и удаляю такие строки.
Есть ли лучший способ? Я никогда не использовал транзакции (я только что услышал слово), так что если кто-то может объяснить, как я это сделаю, это будет туз.