How to get primary key of table?
A better way is to use SHOW KEYS
since you don't always have access to information_schema. The following works:
SHOW KEYS FROM table WHERE Key_name = 'PRIMARY'
Column_name will contain the name of the primary key.
Here is the Primary key Column Name
SELECT k.column_nameFROM information_schema.table_constraints tJOIN information_schema.key_column_usage kUSING(constraint_name,table_schema,table_name)WHERE t.constraint_type='PRIMARY KEY' AND t.table_schema='YourDatabase' AND t.table_name='YourTable';
SELECT kcu.column_name, kcu.ordinal_positionFROM information_schema.table_constraints tcINNER JOIN information_schema.key_column_usage kcuON tc.CONSTRAINT_CATALOG = kcu.CONSTRAINT_CATALOGAND tc.CONSTRAINT_SCHEMA = kcu.CONSTRAINT_SCHEMAAND tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAMEWHERE tc.table_schema = schema() -- only look in the current schemaAND tc.constraint_type = 'PRIMARY KEY'AND tc.table_name = '<your-table-name>' -- specify your table.ORDER BY kcu.ordinal_position