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

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

В таблице users есть два уникальных поля login и email.
Если попытаться добавить запись, где login или email не уникальный, запрос завершится ошибкой, запись добавлена не будет, однако автоинкремент прибавит еденицу. И следующий успешный id будет больше на еденицу. Как этого избежать?
  • Вопрос задан
  • 92 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Hi-TECH Academy
    Администрирование PostgreSQL 16. Базовый курс
    3 дня
    Далее
  • OTUS
    PostgreSQL. Advanced
    4 месяца
    Далее
  • Учебный центр IBS
    QPT PostgreSQL 16. Оптимизация запросов
    1 неделя
    Далее
Решения вопроса 1
profit
@profit
Разработка | Оптимизация. Telegram: @evzavyalov
Проверяйте логин и емайл перед действием. Нет => инсерте. Есть => ошибка
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
DBA для вашего PostgreSQL?
Никак.
Сиквент гарантированно уникальный и не транзакционный. Ничего о последовательности выдачи значений и уж тем более без пропусков он не говорит.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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