PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment puis-je définir une limite de taille pour un type de données int dans PostgreSQL 9.5

Je souhaite explicitement fixer une limite au nombre de chiffres pouvant être insérés dans le champ "pk_flat_id"

pas votre définition de table actuelle imposer une "limite de taille" de quelque manière que ce soit. Dans MySQL, le paramètre pour le int le type de données n'est qu'un indice pour les applications sur la largeur d'affichage de la colonne lors de l'affichage ce.

Vous pouvez stocker la valeur 2147483647 dans un int(1) sans aucun problème.

Si vous souhaitez limiter les valeurs à stocker dans une colonne d'entiers, vous pouvez utiliser une contrainte de vérification :

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