CS/데이터베이스

MySQL foreign key 조회 및 삭제 갱신

Junuuu 2022. 5. 24. 10:57

foreign key를 갱신하기 위해 조회 삭제를 하고 갱신하는 법을 기록해두고자 합니다.

 

 

특정 테이블에 생성되어 있는 foreign key 조회 방법

select * from information_schema.table_constraints where table_name = 'TABLE NAME';

select * from information_schema.table_constraints where table_name = 'board';

 

특정 데이터베이스에 생성되어 있는 foreign key 조회 방법

select * from information_schema.table_constraints where constraint_schema = 'DATABASE NAME';




Foreign key에 제약사항 추가하기

 

회원탈퇴시에 연관된 데이터를 모두 삭제하기 위해 Foreign key에 ON DELETE CASCADE 속성을 추가해주고자 합니다.

 

제약사항을 추가하기 위해서는 먼저 기존에 있던 Foreign Key들을 제거하고 다시 추가해야 합니다.

 

제약사항 삭제

-- 삭제하는 SQL

ALTER TABLE 테이블명 DROP FOREIGN KEY 포린키이름;

ALTER TABLE board DROP FOREIGN KEY board_to_member_fk;

 

제약사항 추가

-- 추가하는 SQL

ALTER TABLE 테이블명 ADD CONSTRAINT 포린키이름 FOREIGN KEY 자식속성 REFERENCES 부모테이블명(자식속성이 참고할 부모속성) ON DELETE CASCADE;

ALTER TABLE board ADD CONSTRAINT board_to_member_fk FOREIGN KEY (userid) REFERENCES ssafy_member(userid) ON DELETE CASCADE;

 

 

 

 

 



출처: https://solbel.tistory.com/2003 [개발자의 끄적끄적]