sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo puedo establecer un límite de tamaño para un tipo de datos int en PostgreSQL 9.5?

Quiero establecer explícitamente un límite para la cantidad de dígitos que se pueden insertar en el campo "pk_flat_id"

Su definición de tabla actual no imponer un "límite de tamaño" de ninguna manera. En MySQL el parámetro para el int el tipo de datos es solo una pista para aplicaciones en el ancho de visualización de la columna al mostrar eso.

Puede almacenar el valor 2147483647 en un int(1) sin ningún problema.

Si desea limitar los valores que se almacenarán en una columna de enteros, puede usar una restricción de verificación:

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