Workbench로 MySql을 관리할 때 대량 Update 구문에서 Safe Updates Option 관련해서 발생하는 오류를 해결하는 방법입니다
개요
MySQL DB를 MySQL Workbench로 연결해서 사용할 때 테이블에 있는 다수의 행을 한꺼번에 업데이트 해야 하는 경우가 있습니다.
예를 들어
UPDATE test_db.test_table SET field_1 = ‘value’;
하지만, 이때 업데이트 문을 실행하면 아래와 같이 [safe update mode]가 설정되어 있는데, Key 칼럼을 조건문에 사용하지 않았으므로 쿼리를 실행할 수 없다는 메시지가 나타납니다.
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.
이는 MySQL Workbench의 기본 설정으로 실수로 WHERE 조건문을 추가하지 않아서 전체 데이터가 일괄 업데이트 되는 것을 예방하기 위한 것이라고 합니다.
이를 해결하는 방법은 크게 2가지가 있습니다.
방법 1
[MySQL Workbench] - [Edit] - [Preferences] - [SQL Editor] 메뉴에서 [Other] 부분을 찾아서 [Safe Updates] 옵션을 해제하면 됩니다. 옵션을 해제한 후에는 Workbench를 재실행해야 합니다.
방법 2
두번째는 WHERE 조건문에 Primary Key를 기존으로 조건을 추가합니다.
예를 들어 UPDATE test_db.test_table SET field_1 = ‘value’ WHERE seq > 0;