데이터 삭제시 두테이블간에 연결된 컬럼이 있을경우 데이터가 연결되어 있다며 삭제되기 않는다. 이 문제를 해결하기 위해서는 테이블 설정창에서 해결해야 한다.
먼저 데이터가 연결된 테이블의 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번에 데이터가 모두 사라진것을 알수 있다.
반응형
'데이터 베이스' 카테고리의 다른 글
데이터 베이스(22) 데이터 베이스 3개이상을 합치는 법 (0) | 2022.12.08 |
---|---|
데이터 베이스 (21) 데이터 베이스상에 null값 대체 ifnull (0) | 2022.12.08 |
데이터 베이스(19) 2개 테이블을 하나로 합치기 join함수 (0) | 2022.12.08 |
데이터 베이스(18) case문,if문 작성법 (0) | 2022.12.08 |
데이터 베이스(17) null인지 확인 할 때 is null사용 (0) | 2022.12.08 |