반응형
MySQL 데이터베이스의 제약 조건 목록
특정 데이터베이스에서 모든 제약사항 목록을 가져오려면 어떻게 해야 합니까?
표를 사용하여 각 테이블에 정의된 제약 조건의 이름을 가져옵니다.
select *
from information_schema.table_constraints
where constraint_schema = 'YOUR_DB'
표를 사용하여 각 제약조건의 필드를 가져옵니다.
select *
from information_schema.key_column_usage
where constraint_schema = 'YOUR_DB'
외부 키 제약에 대해 설명하는 경우 다음을 사용합니다.
select *
from information_schema.referential_constraints
where constraint_schema = 'YOUR_DB'
@Senseful의 훌륭한 답변입니다.
제약 조건 이름 목록만 찾는 사용자를 위해 수정된 쿼리를 제공합니다(다른 세부 정보/열은 참조하지 않음).
SELECT DISTINCT(constraint_name)
FROM information_schema.table_constraints
WHERE constraint_schema = 'YOUR_DB'
ORDER BY constraint_name ASC;
이를 통해 기본 키 및 외부 키 제약 조건뿐만 아니라 ON_UPDATE 및 ON_DELETE 등의 제약 조건과 열 및 외부 열 이름을 모두 볼 수 있습니다.
SELECT tc.constraint_schema,tc.constraint_name,tc.table_name,tc.constraint_type,kcu.table_name,kcu.column_name,kcu.referenced_table_name,kcu.referenced_column_name,rc.update_rule,rc.delete_rule
FROM information_schema.table_constraints tc
inner JOIN information_schema.key_column_usage kcu
ON tc.constraint_catalog = kcu.constraint_catalog
AND tc.constraint_schema = kcu.constraint_schema
AND tc.constraint_name = kcu.constraint_name
AND tc.table_name = kcu.table_name
LEFT JOIN information_schema.referential_constraints rc
ON tc.constraint_catalog = rc.constraint_catalog
AND tc.constraint_schema = rc.constraint_schema
AND tc.constraint_name = rc.constraint_name
AND tc.table_name = rc.table_name
WHERE tc.constraint_schema = 'my_db_name'
이러한 열에 대한 추가 정보를 추가할 수도 있습니다. SQL에 이 정보를 추가하고 원하는 열을 선택하십시오.
LEFT JOIN information_schema.COLUMNS c
ON kcu.constraint_schema = c.table_schema
AND kcu.table_name = c.table_name
AND kcu.column_name = c.column_name
사용자_제약에서 *를 선택합니다.여기서 TABLE_NAME = "tabnam";
언급URL : https://stackoverflow.com/questions/3024981/list-of-constraints-from-mysql-database
반응형
'source' 카테고리의 다른 글
TypeScript 문자열에 번호 지정 (0) | 2022.12.28 |
---|---|
클래스 개인 함수와 함께 php에서 usort 사용 (0) | 2022.12.28 |
열에 대한 데이터가 잘렸습니까? (0) | 2022.12.28 |
matplotlib 범례를 축 밖으로 이동하면 그림 상자에 의해 범례가 잘립니다. (0) | 2022.12.28 |
Vuex4를 사용하는 Vue3: 어레이 내의 일부 항목만 렌더링할 수 있습니다. (0) | 2022.12.28 |