Câu trả lời:
hai tùy chọn: Sử dụng SERIAL "datatype" hoặc tạo một chuỗi và sử dụng chuỗi này làm giá trị mặc định cho số nguyên của bạn:
CREATE SEQUENCE your_seq;
CREATE TABLE foo(
id int default nextval('your_seq'::regclass),
other_column TEXT
);
INSERT INTO foo(other_column) VALUES ('bar') RETURNING *;
Nếu bạn muốn làm điều này trong PGAdmin, nó dễ hơn nhiều so với sử dụng dòng lệnh. Có vẻ như trong PostgreSQL, để thêm một mức tăng tự động vào một cột, trước tiên chúng ta cần tạo một chuỗi tăng tự động và thêm nó vào cột cần thiết. Tôi đã làm như thế này.
1) Trước tiên, bạn cần đảm bảo có một khóa chính cho bảng của bạn. Cũng giữ kiểu dữ liệu của khóa chính trong bigint hoặc smallint. (Tôi đã sử dụng bigint, không thể tìm thấy một kiểu dữ liệu được gọi là nối tiếp như được đề cập trong các câu trả lời khác ở nơi khác)
2) Sau đó thêm một chuỗi bằng cách nhấp chuột phải vào chuỗi-> thêm chuỗi mới . Nếu không có dữ liệu trong bảng, hãy để nguyên chuỗi, đừng thực hiện bất kỳ thay đổi nào. Chỉ cần lưu nó. Nếu có dữ liệu hiện có, hãy thêm giá trị cuối cùng hoặc cao nhất vào cột khóa chính vào giá trị Hiện tại trong tab Định nghĩa như được hiển thị bên dưới.
3) Cuối cùng, thêm dòng nextval('your_sequence_name'::regclass)
vào giá trị Mặc định trong khóa chính của bạn như hiển thị bên dưới.
Hãy chắc chắn rằng tên trình tự là chính xác ở đây. Đây là tất cả và tự động tăng nên hoạt động.
SERIAL
?
GENERATED BY DEFAULT AS IDENTITY
giới thiệu với Postgres> = 10.