반응형
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
반응형
'MySql' 카테고리의 다른 글
MySQL 첫 번째 SELECT가 0 행을 반환하는 경우 두 번째 SELECT 쿼리 (0) | 2020.11.27 |
---|---|
MySQL Mysql의 다른 테이블에서 테이블에 열을 추가하는 방법은 무엇입니까? (0) | 2020.11.27 |
MySQL CodeIgniter "객체 컨텍스트에 없을 때 $ this 사용"함수에서 (0) | 2020.11.27 |
MySQL Hibernate에서 내부 쿼리에 제한을 설정하는 방법은 무엇입니까? (0) | 2020.11.27 |
MySQL HikariCP 연결 풀은 즉시 100 개의 연결을 생성합니다. (0) | 2020.11.27 |
댓글