@valentinesowl
Инженер, программист

Как избежать увеличения автоинкремента при неуспешном запросе?

В таблице users есть два уникальных поля login и email.
Если попытаться добавить запись, где login или email не уникальный, запрос завершится ошибкой, запись добавлена не будет, однако автоинкремент прибавит еденицу. И следующий успешный id будет больше на еденицу. Как этого избежать?
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
profit
@profit
Разработка | Оптимизация. Telegram: @evzavyalov
Проверяйте логин и емайл перед действием. Нет => инсерте. Есть => ошибка
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
Никак.
Сиквент гарантированно уникальный и не транзакционный. Ничего о последовательности выдачи значений и уж тем более без пропусков он не говорит.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы