본문 바로가기
Database/mysql

[MySQL] Error Code: 1175

by JINJINC 2024. 7. 1.
728x90
반응형

 Error code

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. 0.000 sec

 

 

문제 원인

안전 업데이트 모드에서 발생하는 에러. 

안전 업데이트 모드는 실수로 모든 행을 수정하거나 삭제하는 것을 방지하기 위해 MySQL에서 사용하는 보호기능 

 

오류발생의 주요 원인 

 

  • 안전 업데이트 모드 활성화: MySQL Workbench나 다른 클라이언트에서 안전 업데이트 모드가 활성화된 상태입니다.
  • WHERE 절의 부재 또는 비키 컬럼 사용: UPDATE 또는 DELETE 쿼리를 실행할 때 WHERE 절에 키 컬럼(기본 키, 고유 키 등)을 사용하지 않았거나 WHERE 절 자체가 없습니다. 이로 인해 MySQL이 모든 행을 수정하거나 삭제할 위험이 있다고 판단합니다.

 

해결 방법

방법 1: 안전 업데이트 모드 비활성화

  1. MySQL Workbench를 사용하는 경우:
    • 메뉴에서 Edit -> Preferences를 선택합니다.
    • SQL Editor 탭으로 이동합니다.
    • Safe Updates 옵션을 비활성화합니다.
    • MySQL Workbench를 다시 연결합니다.

방법 2: 세션 동안 안전 업데이트 모드 비활성화

  1. MySQL 세션에서 일시적으로 안전 업데이트 모드를 비활성화하려면 다음 쿼리를 실행합니다:
SET SQL_SAFE_UPDATES = 0;
   2. 필요한 업데이트 또는 삭제 작업을 수행합니다.
   3. 이후 필요에 따라 안전 업데이트 모드를 다시 활성화할 수 있습니다:

방법 3: 키 컬럼을 사용하는 WHERE 절 추가

UPDATE 또는 DELETE 쿼리에서 키 컬럼을 사용하여 WHERE 절을 지정합니다. 

UPDATE your_table
SET column_name = new_value
WHERE key_column = some_value;
-----------------------------------------------
DELETE  FROM  your_table
WHERE  key_column  =  some_value;

이렇게 하면 안전 업데이트 모드에서 허용하는 방식으로 데이터를 수정하거나 삭제할 수 있습니다.

 

 

 

 

728x90
반응형

댓글