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

Khóa chính cho nhiều cột trong PostgreSQL?

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:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. HQL - Kiểm tra xem một Mảng có chứa giá trị hay không

  2. postgresql tương đương với $ mysqli-> insert_id

  3. Tính nhất quán trong postgresql với khóa và chọn để cập nhật

  4. Có thể có các điều kiện khác nhau cho mỗi hàng trong một truy vấn không?

  5. Đếm số phần tử chồng chéo trong mảng Postgres