mysql 질문 update 문 조건

mysql 질문 update 문 조건

QA

mysql 질문 update 문 조건

답변 2

본문

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.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 35
© SIRSOFT
현재 페이지 제일 처음으로