drop all mysql check constraints

HYEONG HWAN, MUN/ 9월 27, 2025/ 미분류/ 0 comments

https://blog.lael.be/post/13025

AI 를 활용한 개인적인 개발 프로젝트를 진행하고 있는데, check constraints 로 설계한 항목이 어느곳에도 표시되지 않더라.

현재, 프로젝트는 배포는 내가 구성했고, 백엔드 및 프론트엔드를 동시에 AI 가 작업하고 있다.
나는 중간중간 State를 최신으로 업데이트하여, 후속 AI 작업이 잘 이루어지는 일을 한다.

아무튼 이전 AI 스레드에서 어떤 테이블에 check constraints 를 설정했는데, 이 값이 mysqldump 를 해도 보이지가 않더라.
ide 및 mysql workbench 에서도 관련 설정값이 보이지 않았다.

그렇지만 check 조건은 동작 하더라.

 

상황을 ChatGPT 에서 설명했음.

CHECK 제약조건 제거하고 Trigger 로 대체하라고 권고하더라.

 

AI 에게 지시 조건 추가

 

확인 쿼리

SELECT tc.CONSTRAINT_SCHEMA,
tc.TABLE_NAME,
tc.CONSTRAINT_NAME,
cc.CHECK_CLAUSE
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
JOIN INFORMATION_SCHEMA.CHECK_CONSTRAINTS cc
ON tc.CONSTRAINT_SCHEMA = cc.CONSTRAINT_SCHEMA
AND tc.CONSTRAINT_NAME = cc.CONSTRAINT_NAME
WHERE tc.CONSTRAINT_TYPE = 'CHECK';

 

DROP 쿼리

SELECT CONCAT(
'ALTER TABLE `', tc.CONSTRAINT_SCHEMA, '`.`', tc.TABLE_NAME,
'` DROP CHECK `', tc.CONSTRAINT_NAME, '`;'
) AS drop_statement
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc
WHERE tc.CONSTRAINT_TYPE = 'CHECK';

 

이제 DB구조와 DUMP파일 싱크가 맞게 되었음.

Leave a Comment

작성하신 댓글은 관리자의 수동 승인 후 게시됩니다.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
*
*