2021-04-23 09:39:37

다음과 같은 내용을 담고 있는 person이라는 이름의 테이블이 있다고 가정하겠습니다. 

 

우선 내용을 보려면 SELECT * FROM person;의 쿼리를 주면 됩니다. 

 

 

person 테이블에서 모든 행을 삭제하려면 다음과 같은 쿼리를 주면 됩니다. 

 

DELETE FROM person;

 

그런데 MySQL Workbench를 이용해서 이 쿼리를 주면 다음과 같은 에러가 뜰 수 있습니다.

 

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect.

 

대략 해석하자면 세이프 모드를 사용하고 있기 때문에 KEY column을 사용하는 WHERE 문 없이는 테이블을 업데이트 할 수 없다는 것입니다.

 

그러면 세이프 모드를 해제하는 방법에 대해 알려드리겠습니다. 먼저 빨간 색으로 강조해놓은 버튼을 클릭해주세요. 

 

 

좌측에서 SQL Editor를 클릭하신 후에 스크롤을 맨 아래로 내리면 Safe Updates 가 있는데, 체크를 해제해줍니다. 

 

 

MySQL Workbench를 재시작해주세요. 

 

이번에 다시 동일한 쿼리를 줘보겠습니다. 

 

DELETE FROM person;

 

과연 모든 행이 잘 지워질까요?

 

 

일단 성공 메시지가 떴습니다. SELECT * FROM person; 으로 테이블 내용을 조회해보겠습니다. 

 

 

존재했던 세 개의 행이 모두 잘 삭제된 것을 확인하실 수 있습니다.

 

오늘은 Safe mode를 해제하는 법에 대해서 알아봤지만, Safe mode는 해놓는 것이 좋습니다. 실수로 소중한 데이터를 삭제하거나 수정해버리면 큰일나기 때문입니다. 디폴트로 설정되어 있는 이유가 있습니다.