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

Hvordan kan jeg indstille en størrelsesgrænse for en int-datatype i PostgreSQL 9.5

Jeg ønsker udtrykkeligt at sætte en grænse for antallet af cifre, der kan indsættes i feltet "pk_flat_id"

Din nuværende tabeldefinition gør ikke pålægge en "størrelsesgrænse" på nogen måde. I MySQL er parameteren for int datatypen er kun et tip for applikationer på visningsbredden af ​​kolonnen, når du visning det.

Du kan gemme værdien 2147483647 i en int(1) uden problemer.

Hvis du vil begrænse de værdier, der skal gemmes i en heltalskolonne, kan du bruge en kontrolbegrænsning:

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


  1. gem install pg --with-pg-config virker, bundt mislykkes

  2. Sådan får du vist forespørgselsfejl i PDO PHP

  3. Naturlig sortering i MySQL

  4. ORA-21700:objekt eksisterer ikke eller er markeret til sletning for Associative Array som inputparameter kaldet fra ODP.NET