Truy vấn information_schema.columns với điều kiện COLUMN_KEY = 'PRI' để xác định cột khóa chính.
Ví dụ minh họa
Tạo bảng có khóa chính Id:
mysql> CREATE TABLE DemoTable1886 (
Id INT NOT NULL, FirstName VARCHAR(20), LastName VARCHAR(20),
Age INT, DateOfBirth DATETIME, Education VARCHAR(40),
PRIMARY KEY(Id)
);
Truy vấn kiểm tra từng cột:
mysql> SELECT COLUMN_NAME,
CASE WHEN COLUMN_KEY='PRI' THEN 'Là cột Primary Key' ELSE 'Không phải Primary Key' END AS Output
FROM information_schema.columns
WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='DemoTable1886'
ORDER BY ORDINAL_POSITION;
Kết quả:
+-------------+--------------------------------+ | COLUMN_NAME | Output | +-------------+--------------------------------+ | Id | Là cột Primary Key | | FirstName | Không phải Primary Key | | LastName | Không phải Primary Key | | Age | Không phải Primary Key | | DateOfBirth | Không phải Primary Key | | Education | Không phải Primary Key | +-------------+--------------------------------+
Mở rộng: COLUMN_KEY còn có giá trị 'UNI' (Unique), 'MUL' (Non-unique index).