MariaDB 빠른 팁 #8 - 모든 외래 키 제약

3775 단어 mysqlsqlmariadb

MariaDB 팁과 요령



이것은 제가 1년 동안 축적한 일련의 빠른 팁과 요령 중 일부이며 다른 사람들에게 유용할 수 있다고 생각합니다.
비슷한 짧은 팁과 요령이 있으면 의견을 남겨주세요.

모든 외래 키 제약 조건



잘 설계된 데이터베이스는 데이터 무결성을 보장하기 위해 외래 키 관계를 사용하여 테이블을 서로 연결합니다. 그러나 데이터베이스에 수백 또는 수천 개의 테이블이 있는 경우 수정해야 할 수 있는 특정 테이블과 관련된 모든 테이블을 찾는 것이 어려울 수 있습니다.
아래 쿼리는 특정 열 이름을 가진 열 사이의 모든 외래 키 제약 조건을 찾습니다.

SET @DatabaseName := 'test_db';
SET @ColumnName := 'dept_no';

SELECT concat(rc.unique_constraint_schema, '.', rc.referenced_table_name) AS `Primary table`,
       concat(rc.constraint_schema, '.', rc.table_name) AS `Foreign table`, 
       rc.constraint_name AS `Constraint name`
  FROM information_schema.referential_constraints rc
  JOIN information_schema.key_column_usage cu ON rc.constraint_schema = cu.table_schema 
       AND rc.table_name = cu.table_name
       AND rc.constraint_name = cu.constraint_name
 WHERE rc.constraint_schema = @DatabaseName
   AND cu.COLUMN_NAME = @ColumnName
 ORDER BY rc.constraint_schema,
       rc.table_name;


좋은 웹페이지 즐겨찾기