source

if 조건으로 MySQL 업데이트

itover 2022. 11. 22. 21:30
반응형

if 조건으로 MySQL 업데이트

조건부 질의에 큰 문제가 있는 것 같습니다.

조건부 업데이트를 해야 합니다.여기에 제가 하고 싶은 일을 적습니다.

 IF(SELECT tipo FROM abbonamento WHERE idU = 17) = 'punti' THEN
     UDPATE abbonamento SET punti = punti - 1 
 ELSE
     UPDATE abbonamento SET bonus = bonus - 1

확실히 이것은 효과가 없다.
감 잡히는 게 없어요?

MySQL서포트IF진술.

UPDATE  abbonamento
SET     punti = IF(tipo = 'punti', punti - 1, punti),
        bonus = IF(tipo <> 'punti', bonus - 1, bonus)
WHERE   id = 17

또는 를 사용할 수도 있습니다.CASE

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

언급URL : https://stackoverflow.com/questions/15001217/update-mysql-with-if-condition

반응형