데이터 베이스

데이터 베이스(20) 데이터 삭제 시 참조된 데이터 삭제하기

개발연습자1 2022. 12. 8. 13:03

데이터 삭제시 두테이블간에 연결된 컬럼이 있을경우 데이터가 연결되어 있다며 삭제되기 않는다. 이 문제를 해결하기 위해서는 테이블 설정창에서 해결해야 한다.

 

 

먼저 데이터가 연결된 테이블의 foreign keys 설정창에 들어간후 연결된 컬럼을 누른다.

 

바로 옆에 on update,on delete 설정창이 활성화 된다. 설정창이 활성화 되면 on delete 설정을 누른후 restrict를 cascade로 바꾼다.  이제 apply를 눌러 적용시킨다.

 

이제 입력란에서 삭제 시킨다.(데이터를 삭제할땐 돌이킬수 없으니 신중하게 없어도 되는 데이터를 선택한다)

 

-- 테이블 설정 창에서 포링키 설정에서 삭제 설정에 케스케이드 선택하면
-- 참조 상관없이 삭제할수 있다.(참조된 데이터도 전부 삭제된다.)
-- 연결된 데이터 컬럼 customer_id

 delete from orders
 where customer_id = 1;
 
 select * 
from customers
where id = 1;

 

id1번에 데이터가 모두 사라진것을 알수 있다.

반응형