Итак, мы обрабатываем платежи по кредитным картам, и для каждого платежа требуется уникальный ссылочный идентификатор. Мы используем MySQL.
Существует таблица payments
, в которой есть идентификатор первичного ключа с автоматическим приращением, processing_date, creation_at, updated_at. Моя проблема заключается в том, что эту запись невозможно сохранить до тех пор, пока не будет обработан платеж (этот процесс нельзя изменить из-за рабочего процесса приложений). В связи с этим мы не можем просто использовать первичный ключ, так как он не будет существовать до тех пор, пока не будет обработан платеж, и с тех пор мы добавили столбец reference_id
с уникальным ограничением.
У меня вопрос: есть ли надежный метод генерации последовательного (или близкого к) числа на основе существующего столбца таблицы (т. Е. С использованием чего-то вроде MAX(reference_id) + 1
), обработки платежа (с использованием curl) и вставки записи о платеже в таблицу с ранее сгенерированным reference_id
, обеспечивая при этом уникальность. По существу резервирование ранее сгенерированного reference_id с базой данных.