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: 안전 업데이트 모드 비활성화
- MySQL Workbench를 사용하는 경우:
- 메뉴에서 Edit -> Preferences를 선택합니다.
- SQL Editor 탭으로 이동합니다.
- Safe Updates 옵션을 비활성화합니다.
- MySQL Workbench를 다시 연결합니다.
방법 2: 세션 동안 안전 업데이트 모드 비활성화
- 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
반응형
'Database > mysql' 카테고리의 다른 글
[MySQL] 테이블 생성 및 제거 (0) | 2024.07.01 |
---|---|
[MySQL] 사용자 생성, 사용자 권한부여, 사용자 조회 (0) | 2024.07.01 |
[MYSQL /Database] 서브쿼리 (0) | 2023.04.18 |
댓글