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

Kiểm tra cột có phải Primary Key trong MySQL qua information_schema

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).