>데이터 베이스 >MySQL 튜토리얼 >단일 SQL 쿼리로 여러 데이터베이스 레코드를 업데이트하려면 어떻게 해야 합니까?

단일 SQL 쿼리로 여러 데이터베이스 레코드를 업데이트하려면 어떻게 해야 합니까?

DDD
DDD원래의
2024-12-07 10:52:12374검색

How Can I Update Multiple Database Records with a Single SQL Query?

단일 SQL 쿼리로 여러 레코드 업데이트

데이터베이스에서 많은 레코드를 업데이트하는 것은 시간이 많이 걸리고 시간이 많이 걸릴 수 있습니다. 개별적으로 수행하는 경우 반복적인 작업입니다. 프로세스를 간소화하기 위해 단일 SQL 쿼리로 여러 레코드를 동시에 업데이트할 수 있습니다.

다중 테이블 업데이트 구문 사용

한 가지 접근 방식은 다중 테이블 업데이트 구문을 사용하면 단일 명령문으로 여러 테이블을 조인하고 해당 열을 수정할 수 있습니다.

예를 들어 다음을 고려하세요. 다음 예:

UPDATE config t1 JOIN config t2
ON t1.config_name = 'name1' AND t2.config_name = 'name2'
SET t1.config_value = 'value',
t2.config_value = 'value2';

이 쿼리에서는 t1 및 t2라는 레이블이 붙은 구성 테이블의 두 인스턴스를 조인합니다. ON 절은 조인 기준을 정의하여 업데이트할 레코드가 특정 config_name 값과 일치하는지 확인합니다. SET 절 내에서 t1과 t2 모두에 대한 config_value 열에 새 값을 할당합니다.

조건부 업데이트 사용

또 다른 옵션은 조건부 업데이트를 사용하는 것입니다. , 지정된 조건에 따라 다른 값을 설정할 수 있습니다.

다음을 고려하세요. 쿼리:

UPDATE config
SET config_value = CASE config_name 
WHEN 'name1' THEN 'value' 
WHEN 'name2' THEN 'value2' 
ELSE config_value
END
WHERE config_name IN('name1', 'name2');

여기에서는 CASE 문을 사용하여 config_name 값을 기반으로 config_value 열의 새 값을 정의합니다. 이름 'name1' 및 'name2'의 경우 그에 따라 값이 업데이트됩니다. 그렇지 않으면 현재 값이 유지됩니다. WHERE 절은 주어진 기준과 일치하는 config_name 값을 가진 레코드로 업데이트를 제한합니다.

위 내용은 단일 SQL 쿼리로 여러 데이터베이스 레코드를 업데이트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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