본문 바로가기

Programming/PHP

MySQL UPDATE문 CASE(조건문) 사용

코드레벨에서의 비교 쿼리는 비효율적인 경우가 많음.


가령 쿼리가 두배로 일어난다던지, 연산이 중첩되는 경우가 있는데,

 

MySQL에서는 MS-SQL의 Procedure은 없지만! 


쿼리문에서 조건절을 넣을 수가 있다! 



UPDATE  abbonamento
SET     punti = CASE WHEN tipo = 'punti' THEN punti - 1 ELSE punti END,
        bonus = CASE WHEN tipo <> 'punti' THEN bonus - 1 ELSE bonus END
WHERE   id = 17



UPDATE ci_que

            SET 

                d_suspend = CASE WHEN errorCnt > 2 THEN d_suspend = 1 ELSE d_suspend =2 END,

                errorCnt = errorCnt + 1,

                d_wait = 0,

                d_process= 0,

                d_complete = 0,

                startTime = -1,

                endTime = -1

            WHERE hash='$hash'

'Programming > PHP' 카테고리의 다른 글

Codeigniter Index.php 없애기  (0) 2015.02.14
Facebook API Session Login 구현/그룹 글 불러오기  (0) 2015.02.10