개발관련/other

테이블 또는 열에 대한 모든 외래 키를 보는 방법

Rateye 2021. 12. 19. 14:31
728x90
반응형
질문 : 테이블 또는 열에 대한 모든 외래 키를 보려면 어떻게합니까?

MySQL에서 특정 테이블을 가리키는 모든 외래 키 제약 목록을 어떻게 얻습니까? 특정 칼럼? 이것은이 Oracle 질문 과 동일하지만 MySQL의 경우입니다.

답변

테이블의 경우 :

SELECT 
  TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
  INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_SCHEMA = '<database>' AND
  REFERENCED_TABLE_NAME = '<table>';

컬럼의 경우 :

SELECT 
  TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME, REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAME
FROM
  INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
  REFERENCED_TABLE_SCHEMA = '<database>' AND
  REFERENCED_TABLE_NAME = '<table>' AND
  REFERENCED_COLUMN_NAME = '<column>';

기본적으로 where 절에서 REFERENCED_TABLE_NAME을 REFERENCED_COLUMN_NAME로 변경했습니다.

출처 : https://stackoverflow.com/questions/201621/how-do-i-see-all-foreign-keys-to-a-table-or-column
728x90
반응형