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

Lấy khóa chính (Primary Key) của bảng trong MySQL?

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';