>  기사  >  데이터 베이스  >  CASE를 사용하여 특정 값으로 MySQL 항목을 대량 업데이트하는 방법은 무엇입니까?

CASE를 사용하여 특정 값으로 MySQL 항목을 대량 업데이트하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-10 12:55:03248검색

How to Mass Update MySQL Entries with Specific Values Using CASE?

새 값에 대해 CASE를 사용하여 MySQL 항목 대량 업데이트

MySQL에서 CASE 표현식을 사용하여 항목을 업데이트하면 다른 값을 할당할 수 있습니다. 특정 조건에 따라 열에 추가됩니다. 제공된 쿼리를 수정하려면 set 키워드 뒤의 쉼표를 제거하고 CASE 표현식의 형식을 다음과 같이 지정하세요.

UPDATE ae44
SET price = CASE
    WHEN ID = 'AT259793380' THEN
        '500'
    WHEN ID = 'AT271729590' THEN
        '600'
    WHEN ID = 'AT275981020' THEN
        '700'
END

이 쿼리는 지정된 ID에 해당하는 가격을 업데이트합니다. 그러나 CASE 표현식에 포함되지 않은 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

이 쿼리는 하위 쿼리를 사용하여 ID의 이전 값과 새 값으로 테이블을 생성한 다음 이 테이블을 ae44 테이블과 조인하고 업데이트만 수행합니다. 일치 기록에.

위 내용은 CASE를 사용하여 특정 값으로 MySQL 항목을 대량 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.