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에서 update 문을 치다 보니 위와 같은 오류 메세지가 출력되었다. 이 오류는 기본키가 없는 테이블에서 데이터를 수정할 때 WHERE 문에서 참고할 키 열이 없기 때문이다. ** 기본키는 한 개 이상으로 구성된 테이블의 각 행들을 구별하기 위한 목적을 갖고 있는데, 이 키 값을 사용하지 않고 데이터 테이블을 수정하거나 삭제할 때 의도하지 않게 전체 데이터를 삭제 또는 수정할 수 있다.

 

해결 방법은

1. key 값 생성

 

2. 안전모드 비활성화

MySQL 워크밴치에서 `Edit - Preference -> SQL Editor -> Other -> safe updates 해제`

그리고 워크밴치를 재 실행한다.

 

위와 같이 WHERE에 조건을 주지 않고 col에 10을 더하니까 오류 없이 동작해, 테이블 전체 데이터에 영향을 주었다.

 

따라서 delete 문이 truncate table과 같은 효과를 가질 수도 있다.

'sql' 카테고리의 다른 글

[Do it! SQL 입문] 01장 데이터베이스와 SQL의 기초(1)  (0) 2026.01.05

+ Recent posts