PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie kann ich eine Größenbeschränkung für einen int-Datentyp in PostgreSQL 9.5 festlegen

Ich möchte ausdrücklich die Anzahl der Ziffern begrenzen, die in das Feld "pk_flat_id" eingefügt werden können

Ihre aktuelle Tabellendefinition nicht in irgendeiner Weise eine "Größenbeschränkung" auferlegen. In MySQL ist der Parameter für die int Datentyp ist nur ein Hinweis für Anwendungen auf die Anzeigebreite der Spalte beim Anzeigen es.

Sie können den Wert 2147483647 in einem int(1) speichern ohne Probleme.

Wenn Sie die in einer Integer-Spalte zu speichernden Werte einschränken möchten, können Sie eine Check-Einschränkung verwenden:

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