[SQL] 조건의 경우와 업데이트의 MySQL
SQL조건의 경우와 업데이트의 MySQL
내가 조건부 쿼리에 큰 문제가있는 것 같다.
나는 조건부 갱신을해야한다. 나는 내가하고 싶은 것이 여기에 쓰기 :
IF(SELECT tipo FROM abbonamento WHERE idU = 17) = 'punti' THEN
UDPATE abbonamento SET punti = punti - 1
ELSE
UPDATE abbonamento SET bonus = bonus - 1
물론이 작동하지 않습니다. 어떤 생각?
해결법
-
==============================
1.MySQL을 지원하는 문 IF.
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
from https://stackoverflow.com/questions/15001217/update-mysql-with-if-condition by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 시간 반올림 두 날짜 사이의 차이를 가져 오는 방법 (0) | 2020.06.25 |
---|---|
[SQL] MYSQL 구문은 NULL의 존재하에 동일하지 평가하지 (0) | 2020.06.25 |
[SQL] 검색 데이터베이스에 문자열의 일부를 대체 (0) | 2020.06.25 |
[SQL] MySQL은 컬럼의 마지막 두 글자 스트립 (0) | 2020.06.25 |
[SQL] MySQL은 SELECT AS는 하나에 두 개의 열을 결합 (0) | 2020.06.25 |