PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como posso definir um limite de tamanho para um tipo de dados int no PostgreSQL 9.5


Quero definir explicitamente um limite para o número de dígitos que podem ser inseridos no campo "pk_flat_id"

Sua definição de tabela atual não impor um "limite de tamanho" de qualquer forma. No MySQL o parâmetro para o int tipo de dados é apenas uma dica para aplicativos na largura de exibição da coluna ao exibir isto.

Você pode armazenar o valor 2147483647 em um int(1) sem quaisquer problemas.

Se você quiser limitar os valores a serem armazenados em uma coluna inteira, você pode usar uma restrição de verificação:
CREATE TABLE flat_10
(
  pk_flat_id bigint DEFAULT 1,
  rooms      integer NOT NULL,
  room_label CHAR(1) NOT NULL,

  PRIMARY KEY (flat_id), 
  constraint valid_number 
      check (pk_flat_id <= 999999999)
);