채택완료

sql문에서 if문을 이용해 update 할려고 하는데요.

2016-01-25 (월) 13:06:22 7,380

[code]

update `테이블` set `cash`=`cash`+('-305') , `send_away_for` = if(`send_away_for`-1<0, 0, `send_away_for`-1) `send_away_for`=`send_away_for`-1 where `uid`='admin' 

[/cdoe]

 `send_away_for` = if(`send_away_for`-1<0, 0, `send_away_for`-1)  

 

이것을 통해서 할려고 하는데 왜 안되는거죠? ㅠ,ㅠ

|

답변 1개 / 댓글 4개

채택된 답변
+20 포인트

where 앞에  `send_away_for`=`send_away_for`-1 부분은 왜 존재하는 건가요? 

답변에 대한 댓글 4개

send_away_for는 주문 건수 입니다. 주문취소시 -1 를 하기 위한것입니다.

만약 send_away_for -1 를 하기 위해 if문을 추가 해야하는데요
if문이 `send_away_for` = if(`send_away_for`-1<0, 0, `send_away_for`-1)이것인데 이것을 어떻게 대입 해야되는지 알고 싶습니다. 인터넷 뒤져도 update문if문 관련 정보가 너무 없네요 ㅠ,ㅠ
님이 올린 코드에서 -305숫자 부분에 작은 따옴표가 있네요. 이것은 문자로 취급이 될테니 지우시고요.
위에 얘기드린 부분만 제거하고
update 테이블 set cash=cash+(-305) , send_away_for = if(send_away_for-1<0, 0, send_away_for-1) where uid='admin'
로 테스트해 보세요.
정말 감사합니다.

답변을 작성하려면 로그인이 필요합니다.