728x90
반응형
수업중에 delete 기능을 알려주시기에 따라하다가 에러코드 1175가 떴다.
SQL을 이제 막 배우기 시작한 입문이라 에러코드를 읽어봐도 무슨 뜻인지를 모르겠더라..
그래서 나와 같은 분들이 보고 당황하지 않았으면 하는 마음으로 작성한다!
먼저 오류가 났던 코드는 다음과 같다.
DELETE FROM tasks WHERE title = 'Learn AWS';
문법상으로 난 오류가 아니었기 때문에 이 DELETE 구문은 제대로 작성된 구문이다.
이 방법을 해결하기 위해 몇가지가 있는데 그중, 대부분의 문제와 쉽게 해결 가능한 방법을 알려주고자 한다.
오류코드 파헤치기
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의 안전 업데이트 모드에서 발생한 오류이다.
WHERE절에 key열을 사용하지 않고 테이블을 업데이트 하거나, 삭제할 때 발생한다고 한다.
해결방법
안전 업데이트 모드를 비활성화 해주면 된다.
코드 한줄로 하는 방법과 그냥 설정에 들어가서 해주는 방법이 있는데, 둘 다 언급하겠다.
1. 코드로 비활성화 시키기
이 경우에는 SQL 쿼리를 실행하기 전에 명령을 수행해야 한다.
하지만, 실수로 모든 레코드를 업데이트 해버리거나 삭제하는 상황을 방지하기 위한 보안 조치가 해제되는거라 주의하자.
SET SQL_SAFE_UPDATES=0;
2. 설정으로 비활성화 시키기
설정에 들어가서 하는 것은 아주 간단하다.
먼저 홈에서 Edit의 Preferences에 들어가주자
그리고 SQL Editor를 눌러주고 맨 아래에 있는 Safe Updates의 체크를 해제해주자!
그리고 작업창을 저장하고 새로 불러와주면 끝!
진짜 간단하게 해결가능하다.
728x90
반응형
'SQL' 카테고리의 다른 글
SQL 서브 쿼리 짚고가기! (1) | 2023.10.10 |
---|---|
[MYSQL] 평점으로 상품 분류하기 - 실전 예제 (1) | 2023.10.06 |
[MYSQL] DATEDIFF를 사용한 Churn Rate 구하기 (1) | 2023.10.06 |
[MYSQL] 테이블 생성부터 삭제까지 알아보자 (0) | 2023.10.05 |
[MYSQL] SQL의 기본 문법 이것만 보고 마스터하자 (2) | 2023.10.04 |