사용자의 정보를 담고있는 user table,
게시물의 정보를 가지고 있는 board table,
댓글정보를 가지고 있는 reply table,
파일의 정보를 가지고 있는 file table 등이
각각 테이블마다 foreign key를 사용하는데 delete를 할 때 db에러가 발생한다.
그 이유는 예를 들어 설명하자면
한 사용자가 글을 작성할 때 파일을 올리고 해당 글을 등록했다.
글을 등록한 후에 회원탈퇴를 하면 db에러가 발생하는데 그 이유는
회원탈퇴를 하면 바로 탈퇴가 되어야 할 것 같지만 foreign key로 인해 board table에 있는 board_number과
연결이 되어있기 때문에 삭제가 되지 않는다.
회원탈퇴를 하면 해당 사용자의 모든 정보가 삭제가 되어야하는데 그러기 위해서는
foreign key를 설정한 곳에 ON DELETE CASCADE를 추가해준다
ON DELETE CASCADE를 추가해주는 이유는 연관된 데이터를 모두 삭제해주기 때문에
회원탈퇴를 하고 싶은데 댓글이나, 파일등이 fk로 설정되어 있고 db에러가 발생한다면
ON DELETE CASCADE를 추가해야한다.
'error' 카테고리의 다른 글
btn 클릭시 jquery 에러 (0) | 2020.02.19 |
---|