MySQL Workbench SafeMode 해제 방법
MySQL 워크벤치에서 DELETE, UPDATE문을 WHERE절 없이 실행하려 할 때 실행이 되지 않은 채 세이프모드를 해제하라는 경고가 나타날 경우 해결하는 방법입니다. 우선 Edit -> Preferences 메뉴를 차례로 클릭해 환경설정 다이얼로그를 띄워주세요. SQLEditor 섹션의 맨 아래, Safe Updates 체크박스의 체크를 해제 해주세요. Workbench를 재시작 해주세요. 끝입니다. 참 쉽죠? 이제 DELETE, UPDATE문을 제약 조건 없이 실행해도 더이상 거부당하지 않습니다. 주의사항 위 방법을 실행할 경우, UPDATE, DELETE문에 WHERE절이 빠져도 경고 없이 실행 됩니다. 이것이 의미하는 바는, 실수로 WHERE절을 빠뜨린 채 실행해도 되돌릴 방법이 없어진다 는 것입니다. DELETE문 같은 경우는 그 특성상 실수할 일이 적으나, UPDATE문같은 경우 실수로 마지막에 WHERE절을 빼먹는 경우가 심심찮게 발생할 수 있으므로, Safe Mode를 해제하고 작업할 경우 이 점을 반드시 잊지 말아야 합니다. 특수한 경우가 아닌 이상 세이프 모드를 켜놓고 제약 조건을 정확히 명시하는 것을 추천 드립니다. 여기서 특수한 경우란, 어느 한 테이블의 모든 행을 삭제해야 하는데, 특정할 만한 컬럼이 없는 경우 등 WHERE절을 쓸 수 없는 상황입니다. 특정할 만한 컬럼이 있는 경우, 예를 들어 auto-increment되는 id 컬럼이 있다면 아래와 같이 써서 모든 레코드를 지울 수 있습니다. DELETE FROM table_name WHERE id > 0; 그러므로 정말 특수한 경우가 아니라면, 세이프 모드는 켜두시는 것을 권장합니다.