본문 바로가기
프로그램 개발/MYSQL

[MYSQL] delete 에러 해결 / delete error

by 코딩히어로 2020. 3. 31.

Mysql 을 사용하다가 쿼리에서 해당 테이블의 데이터를 삭제해야 할 경우가 생긴다.

 

delete from 테이블명 where 지우고자하는 데이터 대상;

 

아무 문제없이 삭제되어야 하지만 아래와 같은 에러를 마주하게 된다

 

솰라솰라 무슨 말인가 하니 safe mode가 활성화 되어서 삭제가 불가능하다는 문구였다.

 

자 그럼 지울수없게 보호되어 있는 이 모드를 어떻게 해제해야 할까??

 

정말 간단하게 쿼리문을 통해 가능하다 아래와같이 실행해 보자

 

set sql_safe_updates=0;

 

이렇게 실행해주고 맨 처음 delete문을 다시 실행하게 되면 깔끔하게 지워지는 모습을 볼 수 있다.

 

쿼리문으로 간단하게 해결 할 수도 있지만 Mysql Workbench를 쓰는 사용자라면 다음과같이도 설정 가능하다.

 

Edit 메뉴의 Preferences 탭 내부로 진입

 

왼쪽 SQL Editor 탭에서 맨 아래쪽에 Safe Updates 항목을 체크 해제해 준다

 

이렇게 Safe 모드를 해제 함으로써 delete와 update에 제약을 받지 않게 되지만 항상 DB의 보호를 위해서는

 

항목 수정이 완료된 뒤에는 Safe Mode를 다시 활성화 해 놓는 습관을 가지자.

댓글