2017-10-19 28 views
3

MySQL WorkbenchでDBモデルとEER図を作成しました。私は、ワークベンチスクリプト機能を使用して、MySQLサーバー上でエクスポートおよび作成した後にデータベースを使用するコードを生成するスクリプトを作成しています。MySQLワークベンチのスクリプト作成中に外部キーを見つける方法

私はテーブルをループするので、現在のテーブルにリンクする外部キーを見つける方法はありますか?

表オブジェクトには 'foreignKeys'属性がありますが、表からのAWAYを指す外部キーのみを含み、それを指す外部キーは含まれません。他のテーブルが現在のテーブルのプライマリキーにリンクする外部キーを持っているかどうかを知りたい(理想的にはモデル内の他のすべてのテーブルのすべてのカラムをループしないでください)。

答えて

3

あなたは、あなたの質問に、より具体的には

SELECT 
    TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME 
FROM 
    INFORMATION_SCHEMA.KEY_COLUMN_USAGE 
WHERE 
    REFERENCED_TABLE_SCHEMA = 'database_name'; 

.. DB内のすべての制約/外部キーを取得するために、クエリの下に使用することができ、クエリの下に使用することができます。..

SELECT 
    TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME 
FROM 
    INFORMATION_SCHEMA.KEY_COLUMN_USAGE 
WHERE 
    REFERENCED_TABLE_SCHEMA = 'database_name' AND 
    REFERENCED_TABLE_NAME = 'table_name'; 
+0

Iデータベースが作成されていないモデルでMySQL Workbenchでこれをどのように実行できるか分かりません。それは可能ですか? –

+0

これまでEER図からFKをリストアップする機能はありません。私は上記のSQLは、あなたが望む情報を得るための最速のソリューションだと思いますが、あなたはtempスキーマでテーブル1を作成する必要があります。 – Sh4m

+1

お返事ありがとうございます。私が望んでいた答えではありませんでした。 :)しかし、それは正確で、あなたは私が望んでいた次善のものを提供しました。 –

関連する問題