Detta är något som är värt att undersöka lite om du ska arbeta med databaser i någon längd.
Alla DBMS jag har arbetat med hittills har ett sätt att titta på begränsningar, kolumner och tabellinformation. De för MySQL som hjälper dig att göra vad du vill finns troligen i INFORMATION_SCHEMA:
TABLE_CONSTRAINTS a> MySQL-referensen för detta finns här .
SELECT table_name, constraint_name, constraint_type FROM INFORMATION_SCHEMA.table_constraints;
KOLUMNER MySQL-referensen för detta finns här.
SELECT column_name FROM INFORMATION_SCHEMA.columns;
Du borde kunna göra något så här för att få det du vill ha:
SELECT INFORMATION_SCHEMA.key_column_usage.column_name
FROM INFORMATION_SCHEMA.key_column_usage
JOIN INFORMATION_SCHEMA.table_constraints
ON INFORMATION_SCHEMA.key_column_usage.column_name = INFORMATION_SCHEMA.table_constraints.column_name
WHERE INFORMATION_SCHEMA.table_constraints.constraint_type <> 'PRIMARY KEY'
Det borde vara i princip vad du behöver. Vyer/tabeller som dessa kan vara din bästa vän när du behöver få information om ditt schema.
Jag hoppas att den här informationen hjälper.