반응형
내가하려는 것은 몇 가지 확인란을 관리하는 데 사용하는 매우 간단한 3 열 데이터베이스에 일부 필드를 설정하는 것입니다.
id가 목록에 있으면 col_2를 1로 설정하고 col_3 상태는 그대로 둡니다. 그러나 id가 목록에 없으면 col_2 및 col_3을 0으로 설정합니다.
이것은 내가 지금까지 가지고있는 것이며, 경고를주고 col_3의 값을 변경했기 때문에 작동하지 않습니다.
UPDATE t
SET col_2 =
CASE
WHEN id IN (list) THEN 1
WHEN id NOT IN (list) THEN 0
END,
col_3 =
CASE
WHEN id NOT IN (list) THEN 0
END
WHERE id IS NOT NULL;
감사합니다 :)
해결 방법
이것은 col_3을 그대로 두는 방법입니다.
UPDATE t
SET col_2 =
CASE
WHEN id IN (list) THEN 1
WHEN id NOT IN (list) THEN 0
END,
col_3 =
CASE
WHEN id NOT IN (list) THEN 0
ELSE col_3 --this
END
WHERE id IS NOT NULL;
귀하의 경고에 관한 정보가 충분하지 않습니다.
참조 페이지 https://stackoverflow.com/questions/15136152
반응형
'MySql' 카테고리의 다른 글
MySQL SQL 조인, 테이블 b에 일치하지 않는 테이블 a의 행 포함 (0) | 2021.01.10 |
---|---|
MySQL mysql에서 제한을 사용하여 여러 행을 업데이트합니까? (0) | 2021.01.10 |
MySQL What's the best way to search a MySQL database with PHP? (0) | 2021.01.09 |
MySQL check if a table exists without throwing an exception (0) | 2021.01.09 |
MySQL MySqlDataAdapter를 사용한 업데이트가 작동하지 않습니다. (0) | 2021.01.09 |
댓글