2017-10-19 3 views
3

MySQL Workbench에서 DB 모델 및 EER 다이어그램을 만들었습니다. 나는 workbench 스크립팅 기능을 사용하여 MySQL 서버에서 내 보낸 후 데이터베이스를 사용하는 코드를 생성하는 스크립트를 작성합니다.MySQL Workbench 스크립팅 중 외래 키를 찾는 방법

테이블을 반복하면서 현재 테이블에 연결된 외부 키를 찾을 수있는 방법이 있습니까?

테이블 개체에는 'foreignKeys'특성이 있지만 테이블을 가리키는 외래 키만 포함되며 테이블을 가리키는 외래 키만 포함됩니다. 다른 테이블에 현재 테이블의 기본 키에 연결되는 외래 키가 있는지 (모델의 다른 모든 테이블에서 모든 열을 반복적으로 반복하지 않음) 알고 싶습니다.

당신은 DB의 모든 제약/외래 키를 검색하는 쿼리 아래에 사용할 수

답변

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'; 

질문에 대한 더 구체적으로, 당신은 쿼리 아래에 사용할 수 있습니다 ..

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 위의 당신이 원하는 정보를 얻을 수있는 가장 빠른 솔루션이지만 임시 테이블 스키마에서 테이블을 만들 필요가 있다고 생각합니다. – Sh4m

+1

답변 해 주셔서 감사합니다. 내가 원한 대답이 아니었다. :) 그러나 그것은 정확하고 당신은 내가 원한 것에 대해 차선책을 제공했습니다. –