テーブル名のパラメーターを持ち、すべての列と値を取得するクラスを PHP で作成しています。しかし、外部キーを持つ列の値を取得する方法がわかりません。
それは、どのテーブルが関係しているのか分からないからです。
既知のテーブルから PHP または SQL を使用して外部キーを取得する方法が必要ですか?
テーブル名のパラメーターを持ち、すべての列と値を取得するクラスを PHP で作成しています。しかし、外部キーを持つ列の値を取得する方法がわかりません。
それは、どのテーブルが関係しているのか分からないからです。
既知のテーブルから PHP または SQL を使用して外部キーを取得する方法が必要ですか?
MySql では、クエリを実行しinformation_schema
て、データベースに関するメタ情報を取得できます。
SELECT
TABLE_NAME AS `table_name`,
COLUMN_NAME AS `column_name`,
REFERENCED_COLUMN_NAME AS `referenced_column_name`,
REFERENCED_TABLE_NAME AS `referenced_table_name`
FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = DATABASE()
AND REFERENCED_TABLE_SCHEMA = DATABASE()
From: https://github.com/troelskn/pdoext/blob/master/lib/pdoext/connection.inc.php#L413 (具体的にはloadKeys
関数)
MySQL コマンドを使用できます。
SHOW CREATE TABLE mytable