PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come posso impostare un limite di dimensione per un tipo di dati int in PostgreSQL 9.5

Voglio impostare esplicitamente un limite al numero di cifre che possono essere inserite nel campo "pk_flat_id"

La definizione della tabella corrente non imporre in alcun modo un "limite di dimensione". In MySQL il parametro per int il tipo di dati è solo un suggerimento per applicazioni sulla larghezza di visualizzazione della colonna durante la visualizzazione esso.

Puoi memorizzare il valore 2147483647 in un int(1) senza problemi.

Se vuoi limitare i valori da memorizzare in una colonna intera, puoi utilizzare un vincolo di controllo:

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)
);