Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 개발자
- 코테스터디
- next.js 에러
- 알고리즘문제
- 프로그래머스알고리즘
- mysql
- 코딩
- 프로그래머스코딩테스트
- 알고리즘스터디
- 프로그래밍
- 1일1코테
- Redux-Toolkit
- 프로그래머스 레벨0
- 프로그래머스 알고리즘
- 정보처리기사
- 프로그래머스 코테
- 코테공부
- 프로그래머스
- 프로그래머스코테
- 프로그래머스 Lv.0
- 알고리즘공부
- 정처기기출
- CSS
- 코딩테스트
- js
- 프로그래머스 코딩테스트
- 자바스크립트
- html
- 코테준비
- next.js
Archives
- Today
- Total
계발하는 개발자
[MySQL 에러] 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 에러 해결법 본문
❗️Error
[MySQL 에러] 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 에러 해결법
dev_genie 2023. 9. 29. 23:26에러
mysql workbench에서 데이터를 업데이트 하려고 했을 때 다음과 같은 에러가 뜨며 명령이 실행되지 않았다.
원인
문법은 맞는거 같은데 뭐가 잘못된거지?? 하고 찾아보다가,
MySQL은 기본적으로 Safe Update 모드가 활성화되어있어서 사용자의 급작스러운 데이터 변경을 방지한다는 걸 알게 됐다.
Safe Update 모드란?
사용자가 실수로 데이터를 삭제하거나 변경하는 것을 방지하기 위한 MySQL의 보안 기능
해결
Safe Update 모드때문에 막혀있어서 update가 안되는거니까 Safe모드를 해제해주면 되는데,
해결 방법은 총 2가지가 있다.
방법1 (일시적인 Safe모드 해제)
아래와 같은 sql로 환경변수를 변경한다.
SET SQL_SAFE_UPDATES=0;
위 SQL 명령으로 safe 모드를 임시 해제하고 나니까
데이터 변경이 잘 된다.
방법2 (영구적인 safe모드 해제)
[Edit] > [Preferences] > [SQL Editor]에서 안전모드(Safe mode)를 해제한다.
상단 [Edit]탭 > Preferences 선택
그럼 위와 같은 창이 열리는데 [SQL Editor]탭 선택후,
조금만 스크롤 내리면 Safe Updates 옵션 체크란이 있다.
체크를 해제해준다.
그런 후에 이번엔 set sql_safe_updates=0; 이런 SQL없이
테이블 데이터 조회후 'idx'열이 9인 행의 'name' 열 값을 변경해줬다.
보시다시피 에러없이 데이터 변경이 잘 이뤄진다.
LIST
'❗️Error' 카테고리의 다른 글
dev_genie
@dev_genie
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!