7

データベースに関して必要だったほとんどすべての情報は、information_schema で見つけることができました。

今回は、単一のクエリを使用してデータベース内のすべての外部キーの詳細を読み取る必要がありました。constraints like on delete, on update

show create tableすべての個々のテーブルに対して行うことができます。しかし、このような選択クエリを介してこれらの詳細を取得する方法はありますか?

SELECT CONSTRAINT_NAME, TABLE_NAME,COLUMN_NAME, REFERENCED_TABLE_NAME, 
REFERENCED_COLUMN_NAME FROM information_schema.`KEY_COLUMN_USAGE` WHERE 
table_schema = 'mydbname' AND referenced_column_name IS NOT NULL

on delete, on updateそれはうまく機能していますが、単一のクエリで外部キーに関するすべての情報を取得できるように、これらの値を取得するにはどうすればよいですか? のような制約が欠けているだけです。

4

4 に答える 4

1

更新mysql 5.1 mysql-5.1 のinformation_schema.REFERENTIAL_CONSTRAINTSテーブル追加 から、すべての制約に関する情報を取得できます**。受け入れられた回答は、ソリューションをクエリとして提供します。

以前のmysql-5.0の ような mysql 5.1より前では、この情報を取得できずshow create table、個々のテーブルにしか使用できませんでした。

于 2012-10-05T20:49:59.497 に答える
0

(primary|foreign|unique) キーを探している場合:

http://dev.mysql.com/doc/refman/5.5/en/table-constraints-table.html

于 2012-10-04T20:03:02.563 に答える