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

Một bảng có thể có nhiều khóa chính không?

Bạn hỏi liệu bạn có thể có nhiều hơn một trường khóa chính không và bạn chắc chắn có thể. Bạn có thể chỉ có một khóa chính, nhưng khóa đó có thể bao gồm nhiều cột mà bạn cần để xác định duy nhất các hàng của mình.

Sử dụng một cái gì đó như thế này khi bạn đang tạo bảng của mình:

CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) 

ở đâu P_TdLastName là các cột trong bảng của bạn.

Nếu bạn nghĩ rằng bạn muốn có nhiều hơn một khóa chính, thì câu trả lời là "không thực sự". Bạn chỉ có thể có một khóa chính. Tuy nhiên, bạn có thể có bao nhiêu chỉ mục tùy thích nhưng có một hạn chế duy nhất đối với chúng. Một chỉ mục duy nhất thực hiện khá nhiều điều tương tự như một khóa chính.

ví dụ:-

CREATE TABLE Persons
(
   P_Id int NOT NULL,
   LastName varchar(255) NOT NULL,
   FirstName varchar(255),
   Address varchar(255),
   City varchar(255),
   CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)

Lưu ý :Trong ví dụ trên, chỉ có MỘT TỪ KHÓA CHÍNH (pk_PersonID ). Tuy nhiên, giá trị của pk_PersonID được tạo thành từ hai cột (P_IdLastName ).



  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ải xuống csv từ codeigniter mysql

  2. Kết nối Pdo không có tên cơ sở dữ liệu?

  3. mysql di chuyển hàng giữa các bảng

  4. có thể lọc bộ truy vấn sau khi truy vấn không? django

  5. Làm cách nào để làm cho truy vấn này chạy nhanh hơn?