값 할당을 위해 CASE를 사용하여 MySQL에서 행을 올바르게 업데이트하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-14 10:30:02
원래의
183명이 탐색했습니다.

How to Correctly Update Rows in MySQL Using CASE for Value Assignment?

값 할당을 위해 CASE를 사용하여 MySQL에서 행 업데이트

CASE WHEN 문을 사용하여 MySQL 데이터베이스의 특정 행을 업데이트하려면 , 올바른 구문을 따라야 합니다. ID 값을 기준으로 가격 업데이트를 시도하는 제공된 쿼리는 CASE 문의 잘못된 사용법을 보여줍니다.

이 문제를 해결하려면 올바른 업데이트 쿼리는 다음과 같아야 합니다.

UPDATE ae44
SET price =
CASE
    WHEN ID = 'AT259793380' THEN
        '500'
    WHEN ID = 'AT271729590' THEN
        '600'
    WHEN ID = 'AT275981020' THEN
        '700'
END;
로그인 후 복사

수정된 쿼리에서 다음 사항에 유의하세요.

  • CASE WHEN 문은 개별 WHEN으로 적절하게 구조화되었습니다. 절.
  • 새 값 할당은 := 구문을 사용하여 수행됩니다.
  • 쿼리는 세미콜론(;)으로 끝납니다.

CASE를 사용하여 행 업데이트 문은 특정 조건에 따라 다른 값을 할당할 때 유용할 수 있습니다. 그러나 제공된 쿼리는 ID에 관계없이 모든 레코드의 가격을 업데이트한다는 점에 유의하는 것이 중요합니다. 쿼리에 언급된 특정 ID만 업데이트하는 것이 목표인 경우 다음 접근 방식을 사용할 수 있습니다.

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;
로그인 후 복사

위 내용은 값 할당을 위해 CASE를 사용하여 MySQL에서 행을 올바르게 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿