MySQL에서는 CASE 문을 사용하여 특정 조건에 따라 테이블 항목을 업데이트할 수 있습니다. 방법은 다음과 같습니다.
다음과 같은 쿼리가 있습니다.
update ae44 set Price = Case when ID = 'AT259793380' then '500' when ID = 'AT271729590' then '600' when ID = 'AT275981020' then '700' end case
귀하의 목표는 다음을 기준으로 목록 가격을 대량 업데이트하는 것입니다. 해당 ID. 그러나 쿼리가 의도한 결과를 반환하지 않습니다.
쿼리를 수정하려면 CASE 문을 올바르게 사용해야 합니다. 올바른 구문은 다음과 같습니다.
UPDATE ae44 SET price = CASE WHEN ID = 'AT259793380' THEN '500' WHEN ID = 'AT271729590' THEN '600' WHEN ID = 'AT275981020' THEN '700' END
이 쿼리는 다른 ID가 있는 레코드의 가격을 NULL로 업데이트합니다.
원하는 경우 목록에서 ID만 업데이트하고 null 업데이트를 제외하려면 다음 쿼리를 사용할 수 있습니다.
UPDATE ae44 JOIN ( SELECT 'AT259793380' AS oldval, '500' AS newval UNION ALL SELECT 'AT271729590' AS oldval, '600' AS newval UNION ALL SELECT 'AT275981020' AS oldval, '700' AS newval ) q ON ae44.id = q.oldval SET price = q.newval
이 쿼리는 UNION ALL 문을 사용하여 생성된 임시 테이블에 지정된 ID에 대한 가격만 업데이트합니다. .
위 내용은 CASE를 사용하여 조건부 값으로 MySQL 항목을 대량 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!