본문 바로가기
MySql

MySQL : 프로그래밍 방식으로 외래 키 관계를 결정하는 방법은 무엇입니까?

by 베이스 공부 2020. 11. 27.
반응형


MySQL에서 외래 키 참조를 프로그래밍 방식으로 어떻게 결정할 수 있습니까 (InnoDB 가정)? 거의 다음과 같이 얻을 수 있습니다.

SHOW TABLE STATUS WHERE Name = 'MyTableName';

... 그러나 슬프게도,이 정보 중 일부를 포함하는 것처럼 보이는 주석 열이 잘려서 믿을 수 없습니다. 다른 방법이 있어야합니다 ...

저는 C API 호출, SQL 문 등 무엇이든 만족할 것입니다. 일관되게 작동하는 것이 필요합니다.

참고 : "SHOW CREATE TABLE MyTableName"문의 결과를 구문 분석하는 것도 고려했지만 더 간단한 것이 있기를 바랍니다.

 

해결 방법

 


다음은 위에 링크 된 후자 페이지의 주석에서 가져온 쿼리로, 원하는 정보를 얻는 방법을 보여줍니다.

SELECT CONCAT( table_name, '.', column_name, ' -> ', 
  referenced_table_name, '.', referenced_column_name ) AS list_of_fks 
FROM INFORMATION_SCHEMA.key_column_usage 
WHERE referenced_table_schema = 'test' 
  AND referenced_table_name IS NOT NULL 
ORDER BY table_name, column_name;

위의 ' test '대신 스키마 이름을 사용하세요.

 

참조 페이지 https://stackoverflow.com/questions/273794

 

 

반응형

댓글