Sử dụng SHOW INDEX lọc Key_name = 'PRIMARY'.
Cú pháp:
SHOW INDEX FROM ten_csdl.ten_bang WHERE Key_name = 'PRIMARY';
Ví dụ bảng có khóa chính kép (Id, RollNum):
CREATE TABLE TwoOrMorePrimary (
Id INT, Name VARCHAR(200), RollNum INT,
PRIMARY KEY(Id, RollNum)
);
Truy vấn:
SHOW INDEX FROM business.TwoOrMorePrimary WHERE Key_name = 'PRIMARY';
Kết quả
+------------------+------------+----------+--------------+-------------+-----------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | +------------------+------------+----------+--------------+-------------+-----------+ | twoormoreprimary | 0 | PRIMARY | 1 | Id | A | | twoormoreprimary | 0 | PRIMARY | 2 | RollNum | A | +------------------+------------+----------+--------------+-------------+-----------+
Giải thích cột quan trọng:
Seq_in_index: Thứ tự cột trong khóa chính (1, 2, 3...).Column_name: Tên cột thuộc khóa chính.Non_unique = 0: Đảm bảo duy nhất (Primary Key).
Cách khác: SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='db' AND TABLE_NAME='bang' AND COLUMN_KEY='PRI';