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

Cột bảng tăng dần tự động

Postgres 10 trở lên

serial các cột (xem bên dưới) không thay đổi. Nhưng hãy xem xét một IDENTITY cột. Postgres 10 triển khai tính năng SQL tiêu chuẩn này.

Cú pháp và thông tin cơ bản trong hướng dẫn sử dụng cho CREATE TABLE .
Giải thích chi tiết trong mục blog này của tác giả chính Peter Eisentraut.

Tạo bảng có IDENTITY cột

CREATE TABLE staff (
   staff_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY
 , staff    text NOT NULL
);

Thêm IDENTITY cột vào bảng hiện có

Bảng có thể có hoặc không có hàng.

ALTER TABLE staff ADD COLUMN staff_id int GENERATED BY DEFAULT AS IDENTITY;

Để đồng thời biến nó thành PK (bảng chưa thể có PK):

ALTER TABLE staff ADD COLUMN staff_id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY;

Có liên quan:

  • Làm cách nào để thêm cột nhận dạng PostgreSQL 10 vào bảng hiện có với các hàng?

Thay thế serial với IDENTITY cột

Xem:

  • Làm cách nào để thay đổi ID bảng từ nối tiếp sang danh tính?

Postgres 9.6 trở lên

(Thực sự là hoặc bất kỳ phiên bản nào.)
Sử dụng serial kiểu dữ liệu giả thay thế:

CREATE TABLE staff (
   staff_id serial PRIMARY KEY,
 , staff    text NOT NULL
);

Nó tự động tạo và đính kèm đối tượng chuỗi và đặt DEFAULT thành nextval() từ trình tự. Nó có tất cả những gì bạn cần.

Tôi đã sử dụng số nhận dạng chữ thường trong ví dụ của mình. Làm cho cuộc sống của bạn với Postgres dễ dàng hơn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo cơ sở dữ liệu PostgreSQL

  2. Thiếu `pg_tblspc` sau khi cài đặt phiên bản OS X mới nhất (Yosemite hoặc El Capitan)

  3. Tăng giá trị trong Postgres

  4. Chạy nhiều phiên bản PostgreSQL trên một máy chủ duy nhất

  5. Cách Atan2 () hoạt động trong PostgreSQL