Chỉ có thể có một khóa chính trên mỗi bảng - như được chỉ ra bởi từ "chính".
Bạn có thể có thêm UNIQUE
cột
như:
CREATE TABLE test(
sl_no int PRIMARY KEY, -- NOT NULL due to PK
emp_id int UNIQUE NOT NULL,
emp_name text,
emp_addr text
);
Các cột là (một phần của) PRIMARY KEY
được đánh dấu NOT NULL
tự động.
Hoặc sử dụng ràng buộc bảng thay vì ràng buộc cột để tạo một đa cột khóa chính . Điều này khác về mặt ngữ nghĩa so với ở trên:Bây giờ, chỉ có sự kết hợp của cả hai cột phải là duy nhất, mỗi cột có thể chứa các bản sao của riêng nó.
CREATE TABLE test(
sl_no int, -- NOT NULL due to PK below
emp_id int , -- NOT NULL due to PK below
emp_name text,
emp_addr text,
PRIMARY KEY (sl_no, emp_id)
);
Nhiều cột UNIQUE
các ràng buộc cũng có thể xảy ra.
Ngoài ra:Không sử dụng số nhận dạng caMeL-case trong Postgres. Sử dụng số nhận dạng hợp pháp, viết thường để bạn không bao giờ phải sử dụng dấu ngoặc kép. Làm cho cuộc sống của bạn dễ dàng hơn. Xem: