회원 테이블과 게시판 테이블의 id에 foreign key를 걸어놓고 회원 탈퇴를 하려고 보니 foreign key constraint fails 오류가 발생했다. 회원탈퇴를 하고 연관된 데이터를 모두 삭제하기 위해서는 Foreign Key 에 ON DELETE CASCADE 속성을 추가해줘야 한다.
먼저 기존에 있었던 foreign key들을 제거 하고 다시 추가해야 한다.
-- 제약 조건 조회 (외래키이름 조회 위해서)
use information_schema;
select *
from table_constraints
where table_name = '테이블명';
-- Foreign Key 삭제
ALTER TABLE 테이블명 DROP FOREIGN KEY 외래키이름;
다음으로 on delete cascade 제약사항을 추가한다.
-- ON DELETE CASCADE 추가
ALTER TABLE 테이블명 ADD CONSTRAINT FOREIGN KEY(컬럼명) REFERENCES 부모테이블명(컬럼명) ON DELETE CASCADE;
참조
'5. DB > 4-1. MySQL DBMS' 카테고리의 다른 글
MySQL - [ DB 데이터 Export/Import ] (0) | 2022.05.26 |
---|---|
MySQL -[ rownum 행번호 생성 ] (0) | 2022.05.15 |
MySQL - [ View ] (0) | 2022.05.13 |
MySQL - [ 테이블에 선언된 제약조건 조회 ] (0) | 2022.05.10 |
MySQL - [ TCL(트랜잭션 제어어) - commit / rollback ] (0) | 2022.05.04 |