개요

MySQL DB를 MySQL Workbench로 연결해서 사용할 때 테이블에 있는 다수의 행을 한꺼번에 업데이트 해야 하는 경우가 있습니다.

예를 들어

UPDATE test_db.test_table SET field_1 = ‘value’;

하지만, 이때 업데이트 문을 실행하면 아래와 같이 [safe update mode]가 설정되어 있는데, Key 칼럼을 조건문에 사용하지 않았으므로 쿼리를 실행할 수 없다는 메시지가 나타납니다.

이는 MySQL Workbench의 기본 설정으로 실수로 WHERE 조건문을 추가하지 않아서 전체 데이터가 일괄 업데이트 되는 것을 예방하기 위한 것이라고 합니다.

이를 해결하는 방법은 크게 2가지가 있습니다.

방법 1

[MySQL Workbench] - [Edit] - [Preferences] - [SQL Editor] 메뉴에서 [Other] 부분을 찾아서 [Safe Updates] 옵션을 해제하면 됩니다. 옵션을 해제한 후에는 Workbench를 재실행해야 합니다.

Workbench로 MySql을 관리할 때 대량 Update 구문에서 Safe Updates Option 관련해서 발생하는 오류를 해결하는 방법

방법 2

두번째는 WHERE 조건문에 Primary Key를 기존으로 조건을 추가합니다.
예를 들어 UPDATE test_db.test_table SET field_1 = ‘value’ WHERE seq > 0;

문서 업데이트 내역

날짜 내용
2022-12-17 문서 최초 생성