Я пытаюсь сгенерировать номера счетов с автоматическим приращением: 2019-0001, 2019-0002 и т. Д.
Код работает нормально, но проблема возникает в условиях гонки. Если платежи происходят одновременно, мне иногда оставляют дубликаты номеров счетов.
Я думал только о создании поля auto_increment в базе данных, но у нас есть требование, которое позволяет пользователю устанавливать начальный номер счета. Например, пользователь может установить свои счета-фактуры, чтобы они начинались с 2019-0002, а затем увеличиваться оттуда.
Есть ли простой способ избежать дубликатов?
Бонусные баллы, если ответ также совместим с WordPress, поскольку номера счетов-фактур являются заголовками пользовательских типов сообщений, и я не могу изменить дизайн таблицы сообщений.