Задать вопрос
@Boris007

Как обезопасить id SERIAL для корректной работы без промежутков значений?

Создал таблицу:

CREATE TABLE users(
   id SERIAL PRIMARY KEY,
   name VARCHAR(255)
)

При первых INSERT запросах было всё нормально, но потом после id == 9, следующий был id == 37, потом 81,82,83,84,85
Из-за чего это происходит и как этого избежать?
Как обезопасить записи в БД по их корректности?
  • Вопрос задан
  • 300 просмотров
Подписаться 1 Простой 1 комментарий
Решение пользователя Алексей Черемисин К ответам на вопрос (3)
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Автоинкрементные ключи вообще лучше не использовать - это вселенское зло!
Используйте или uuid, или свой какой-то счетчик, или композинтый ключ или хеш, да все что угодно, только не автоинкремент.
Почему автоинкремент плохо - сотни статей в интернетах.
Вот на почитать;
- https://azimutt.app/blog/stop-using-auto-increment...
- https://www.clever-cloud.com/blog/engineering/2015...
Ответ написан