PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để đặt giới hạn kích thước cho kiểu dữ liệu int trong PostgreSQL 9.5

Tôi muốn đặt giới hạn rõ ràng cho số chữ số có thể được chèn vào trường "pk_flat_id"

Định nghĩa bảng hiện tại của bạn không áp đặt "giới hạn kích thước" theo bất kỳ cách nào. Trong MySQL, tham số cho int kiểu dữ liệu chỉ là một gợi ý cho các ứng dụng trên chiều rộng hiển thị của cột khi hiển thị nó.

Bạn có thể lưu trữ giá trị 2147483647 trong int(1) mà không có bất kỳ vấn đề.

Nếu bạn muốn giới hạn các giá trị được lưu trữ trong một cột số nguyên, bạn có thể sử dụng ràng buộc kiểm tra:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL 9.0 Backup &Recovery

  2. Nối nhiều hàng kết quả của một cột thành một, nhóm theo cột khác

  3. Sử dụng COALESCE để xử lý các giá trị NULL trong PostgreSQL

  4. LỖI:quyền bị từ chối đối với chuỗi thành phố_id_seq bằng cách sử dụng Postgres

  5. Postgres pg_dump kết xuất cơ sở dữ liệu theo một thứ tự khác nhau mọi lúc