Как определить минимальное и максимальное значение в качестве диапазона для поля postgresql?

#sql #postgresql

#sql #postgresql

Вопрос:

Я хотел бы сжать значения, которые может принимать поле в моей базе данных PostgreSQL, но не смог найти способ сделать это в запросе при создании таблицы.

Например, допустим, у меня есть таблица с именем Books, и она содержит некоторую важную информацию о моих книгах. Поля могут быть такими:

  • BookID
  • OwnerId
  • Номер страницы

Допустим, я хочу, чтобы поле PageNumber имело минимальное и максимальное значения как 1 и 500.

Теперь легко сжать шкалу значений от 1 до 500, но я хочу сделать это на стороне базы данных, что необходимо было сделать с помощью запроса PostgreSQL.

Любая помощь будет оценена.

Заранее спасибо.

Ответ №1:

Вы можете добавить check ограничение:

 alter table books add constraint chk_books_pagenumber
    check (pagenumber between 1 and 500);
  

Это ограничивает значения от 1 до 500.