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

Xác định khóa chính tổ hợp (composite primary key) trong bảng MySQL

Truy vấn INFORMATION_SCHEMA.KEY_COLUMN_USAGE để đếm số cột thuộc khóa chính của một bảng.

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable1324 (
    StudentId INT, StudentName VARCHAR(20), StudentAge INT, StudentCountryName VARCHAR(20)
);

Thêm khóa chính tổ hợp 3 cột:

mysql> ALTER TABLE DemoTable1324
    ADD CONSTRAINT constr_IdAgeCountry PRIMARY KEY (StudentId, StudentAge, StudentCountryName);

Truy vấn kiểm tra số cột trong PK:

mysql> SELECT COUNT(*) AS Total
    FROM information_schema.KEY_COLUMN_USAGE
    WHERE table_name = 'DemoTable1324' AND table_schema = DATABASE();

Kết quả:

+-------+
| Total |
+-------+
| 3     |
+-------+

Giải thích: Kết quả 3 > 1 → khóa chính tổ hợp (composite PK) gồm 3 cột.

Cách khác (xem chi tiết):

SELECT COLUMN_NAME, ORDINAL_POSITION
FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_NAME = 'DemoTable1324' AND CONSTRAINT_NAME = 'PRIMARY'
ORDER BY ORDINAL_POSITION;

Trả về tên và thứ tự các cột trong PK.