개요 이번 글에서는 MySQL에서 Safe mode를 해제하는 방법에 대해 이야기해 보려고 한다. MySQL Safe mode? MySQL Workbench 사용 중 다음과 같은 오류를 만나본 적 있을 것이다. 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. Workbench 환경에서 키값을 이용한 update나 delete만을 허용하도록 되어 있는데 이를 준수하지 않고 여러 행에 영향을 미칠..
개요 이번 글에서는 계층형 재귀 쿼리를 사용해서 성능개선 및 프로젝트를 유지보수와 확장에 용이한 구조로 만들었던 과정에 대해 이야기해보려고 한다. 프로젝트 개요 현재 개인적으로 배달의 민족 모작 프로젝트를 진행하고 있는 중에 각 별점마다 해당하는 리뷰의 개수와 점수별로 별의 색을 칠하고 표시해주는 작업이 필요했다. 리팩토링 전 문제점 - 1 SELECT storeIdn, storeName, storeAddress, storePhonenum, storeIntro, minDelevery, deleveryTime, deleveryTip, (SELECT COUNT(*) FROM bm_review WHERE storeIdn = {storeIdn}) AS reviewCount, (SELECT COUNT(*) FRO..
개요 이번 글에서는 MySQL에서 서브쿼리의 ORDER BY 절이 무시될 때 해결하는 방법에 대해 이야기해 보려고 한다. 문제 상황 SELECT FORMAT(@ROWNUM := @ROWNUM+1, 0) AS rowNum, A.* FROM (SELECT menuName, menuPrice, regDate FROM baemin_db.bm_basket WHERE userIdn = 1 AND storeIdn = 1 ORDER BY regDate DESC ) AS A, (SELECT @ROWNUM := 0 ) AS B 위 쿼리는 서브쿼리에서 장바구니 테이블의 메뉴, 가격, 등록일을 등록일의 역순으로 조회하고 ROWNUM으로 번호를 매기는 쿼리인데 실행결과를 보면 서브쿼리의 결과들이 ORDER BY 절의 영향을 받..