mysql 질문 update 문 조건

mysql 질문 update 문 조건

QA

mysql 질문 update 문 조건

본문

a           b

10         0         

10         0

10         0

11         0

12         0

13         0

 

a 항목에 10인 값중 위에서 2번째까지만 b항목에 점수를 주려고 합니다.

update g5_shop_cart set a = a +1 group by a having a=10 limit 0, 1

update g5_shop_cart set a = a +1 group by a having a=10 limit 1, 2

로 하니 안되더군요.

for문으로 돌려야 하나요? 방법이 있을까요?

 

고수님들의 의견 부탁드려요.

이 질문에 댓글 쓰기 :

답변 2

"a 항목에 10인 값중 위에서 2번째까지만 b항목에 점수를 주려고 합니다."라고 적어놓고

예문은 "update g5_shop_cart set a = a +1 group by a having a=10 limit 0, 1"인데

a 항목이 10인 값 중, 2개만 b의 값을 1 증가시켜주는 것이 목적인가요?

질문의 데이터만으로는 대상이 명확하지 않고,

문제[*]가 있긴 하지만 어쨌거나 아래처럼 업데이트 가능하긴 합니다.

 

UPDATE g5_shop_cart SET b=b+1 WHERE a=10 LIMIT 2

 

* Note: Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. The statement is unsafe because it uses a LIMIT clause. This is unsafe because the set of rows included cannot be predicted.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,624
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT