IT/DB

[MYSQL] 외래키 속성 변경, 수정, 삭제 및 조회하기

승돌 2022. 9. 28. 11:51
반응형

-- 스키마에 있는 KEY 조회

SELECT * FROM information_schema.table_constraints WHERE constraint_schema = '스키마이름';

-- FK 설정 되어있을 때 속성 변경

-- 제약조건 끄기
SET FOREIGN_KEY_CHECKS = 0;
SET GLOBAL FOREIGN_KEY_CHECKS=0;
-- 실행할 구문
/*
예시
ALTER TABLE obs_info CONVERT TO CHARACTER SET utf8;
ALTER TABLE obs_hist CONVERT TO CHARACTER SET utf8;
*/
--제약조건 키기
SET FOREIGN_KEY_CHECKS = 1;
SET GLOBAL FOREIGN_KEY_CHECKS=1

-- FK 삭제

ALTER TABLE 테이블명 DROP FOREIGN KEY FK명;

--부모테이블 삭제,수정 시 자식테이블 자동 삭제, 수정

ALTER TABLE 자식테이블 ADD CONSTRAINT FK명 FOREIGN KEY (자식테이블 칼럼명) REFERENCES 부모테이블(부모테이블 칼럼명) ON UPDATE(DELETE) CASCADE;
반응형