SHOW INDEX FROM `tb_name` WHERE Key_name = 'PRIMARY'
จะได้ผลออกมาประมาณนี้ Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality |
---|---|---|---|---|---|---|
tb_name |
0 | PRIMARY | 1 | code | A | 186 |
หรืออีกวิธี อ่านเอาฐานข้อมูล information_schema สำหรับ mysql 4.1 เป็นต้นไป
SELECT k.COLUMN_NAME
FROM information_schema.table_constraints t
LEFT JOIN information_schema.key_column_usage k
USING(constraint_name,table_schema,table_name)
WHERE t.constraint_type='PRIMARY KEY'
AND t.table_schema=DATABASE()
AND t.table_name='owalog';
อีกคำสั่งสำหรับ อ่านเอาฐานข้อมูล information_schemaSELECT `COLUMN_NAME`
FROM `information_schema`.`COLUMNS`
WHERE (`TABLE_SCHEMA` = 'dbName')
AND (`TABLE_NAME` = 'tableName')
AND (`COLUMN_KEY` = 'PRI');
เท่านี้เพียงเราชื่อตารางก็สามารถหา field ของตารางที่เป็น Primary key ได้แล้ว