これは、データベースを任意の長さで操作する場合は、調査する価値があります。
これまでに使用したすべてのDBMSには、制約、列、およびテーブル情報を確認する手段があります。やりたいことを実行するのに役立つMySQL用のものは、INFORMATION_SCHEMAにある可能性があります:
TABLE_CONSTRAINTS このためのMySQLリファレンスは
SELECT table_name, constraint_name, constraint_type FROM INFORMATION_SCHEMA.table_constraints;
列
これに関するMySQLリファレンスは
SELECT column_name FROM INFORMATION_SCHEMA.columns;
あなたはあなたが望むものを得るためにこのようなことをすることができるはずです:
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'
は本質的にあなたが必要とするものでなければなりません。このようなビュー/テーブルは、スキーマに関する情報を取得する必要がある場合に最適です。
この情報がお役に立てば幸いです。