Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Tạo khóa chính tổ hợp (PRIMARY KEY trên 2 cột) trong MySQL

MySQL cho phép khóa chính gồm nhiều cột (composite primary key). Cặp giá trị của các cột này phải duy nhất cùng nhau.

Cú pháp

PRIMARY KEY (cot1, cot2)

Ví dụ minh họa

Tạo bảng với khóa chính là (FirstName, LastName):

mysql> CREATE TABLE DemoTable (
    StudentFirstName VARCHAR(100),
    StudentLastName VARCHAR(100),
    StudentAge INT,
    StudentCountryName VARCHAR(100),
    PRIMARY KEY(StudentFirstName, StudentLastName)
);

Kiểm tra cấu trúc:

mysql> DESC DemoTable;

Kết quả

+--------------------+--------------+------+-----+---------+-------+
| Field              | Type         | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| StudentFirstName   | varchar(100) | NO   | PRI | NULL    |       |
| StudentLastName    | varchar(100) | NO   | PRI | NULL    |       |
| StudentAge         | int(11)      | YES  |     | NULL    |       |
| StudentCountryName | varchar(100) | YES  |     | NULL    |       |
+--------------------+--------------+------+-----+---------+-------+

Cả hai cột đều có Key = PRI và Null = NO.

Lưu ý:

  • Không được phép có NULL trong bất kỳ cột nào của khóa chính.
  • Cặp (FirstName, LastName) phải duy nhất; trùng lặp sẽ báo lỗi Duplicate entry.
  • Thứ tự cột trong PK ảnh hưởng đến thứ tự index và hiệu năng truy vấn.