[트러블슈팅] MySQL 데이터 일괄 변경

·2023년 3월 15일
0

NerdNest

목록 보기
5/6
post-thumbnail

발단

blog을 등록할 때 타이틀 이미지를 지정하지 않으면 기본 이미지가 자동적으로 등록되도록 구현하였는데 하이픈(-)언더바(_)로 잘못 기입해 코드 수정 전에 등록된 blog 글에는 title_image_url빈 문자열 값이 저장되었다.

꽤나 많은 blogtitle_image_url가 빈 문자열로 저장되어 있었기 때문에 blog_id를 하나하나 입력해가며 데이터를 Update하기에는 무리가 있었다.

🚨문제 발생🚨

데이터를 일괄로 변경하기 위해 title_image_url = ""인 blog만 UPDATE할 수 있도록 SQL문을 작성했다.

UPDATE blog set blog.title_image_url = "default-title Url" where blog.title_image_url = "";


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.
💡Safe Update 모드 상태에서 조건절에 PK를 사용하지 않아 발생한 Error였다.

문제 해결☝️

Safe Update 모드를 해제하고 해당 쿼리를 실행하면 된다.

SET SQL_SAFE_UPDATES = 0;

💡SQL_SAFE_UPDATES의 값이 0일 경우는 모드가 해체된 상태, 1일 경우는 모드가 켜진 상태이다.

실행하자 일괄적으로 데이터가 변경된 것을 확인할 수 있었다!

참고 블로그

profile
🧑‍💻백엔드 개발자, 조금씩 꾸준하게

0개의 댓글