Note that composite keys may lead to confusion : indeed a primary key can be a composite key, and DESCRIBE will show all of the composite key components as primary keys :
> DESCRIBE foobar; +----------------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------------------+------------------+------+-----+---------+-------+ | column_A | int(10) unsigned | NO | PRI | NULL | | | column_B | int(10) unsigned | NO | PRI | NULL | | +----------------------+------------------+------+-----+---------+-------+
However SHOW CREATE TABLE will show the reality :
> SHOW CREATE TABLE foobar; +--------+---------------------------…+ | Table | Create Table …| +--------+---------------------------…+ | foobar | CREATE TABLE `foobar` ( `column_A` int(10) unsigned NOT NULL, `column_B` int(10) unsigned NOT NULL, PRIMARY KEY (`column_A`,`column_B`), KEY `column_B` (`column_B`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +--------+---------------------------…+