Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

หา Primary Key ของตารางใน MySQL ด้วย SHOW INDEX

คำสั่งแสดง Primary Key ของตาราง

ใช้ SHOW INDEX FROM table_name WHERE Key_name = 'PRIMARY' เพื่อดูคอลัมน์ที่เป็น Primary Key

รูปแบบคำสั่ง (Syntax)

SHOW INDEX FROM database_name.table_name 
WHERE Key_name = 'PRIMARY';

ตัวอย่าง: ตารางที่มี Composite Primary Key (2 คอลัมน์)

CREATE TABLE TwoOrMorePrimary (
    Id INT,
    Name VARCHAR(200),
    RollNum INT,
    PRIMARY KEY (Id, RollNum)
);

คิวรี่หา Primary Key:

SHOW INDEX FROM business.TwoOrMorePrimary 
WHERE Key_name = 'PRIMARY';

ผลลัพธ์:

TableNon_uniqueKey_nameSeq_in_indexColumn_nameCollationIndex_type
twoormoreprimary0PRIMARY1IdABTREE
twoormoreprimary0PRIMARY2RollNumABTREE

คอลัมน์สำคัญในผลลัพธ์

  • Seq_in_index - ลำดับของคอลัมน์ใน Composite Key (1, 2, 3...)
  • Column_name - ชื่อคอลัมน์ที่เป็น PK
  • Non_unique = 0 - แสดงว่าเป็น Unique Index (PK ต้อง Unique)
  • Index_type = BTREE - ประเภทดัชนี (PK ใช้ B-Tree)

วิธีอื่น: ใช้ INFORMATION_SCHEMA

SELECT COLUMN_NAME 
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE 
WHERE TABLE_SCHEMA = 'your_db' 
  AND TABLE_NAME = 'your_table' 
  AND CONSTRAINT_NAME = 'PRIMARY'
ORDER BY ORDINAL_POSITION;

วิธีนี้ให้ผลลัพธ์เฉพาะชื่อคอลัมน์ อ่านง่ายกว่าสำหรับการเขียนโปรแกรม