MySQL - LIMIT를 사용한 업데이트 쿼리
이 문서에서는 MySQL 데이터베이스에서 LIMIT 절을 통해 특정 행을 업데이트하려고 할 때 발생하는 문제를 해결합니다. . 목표는 지정된 행 ID 범위 내의 행을 업데이트하는 것입니다.
구문 오류 및 올바른 쿼리
제공한 쿼리 "UPDATE oltp_db.users SET p_id = 3 LIMIT 1001, 1000"은 구문상 올바르지 않습니다. UPDATE 쿼리에서 LIMIT를 사용하는 올바른 구문은 시작 행 번호(오프셋)와 업데이트할 행 수를 지정하는 것입니다. 올바른 쿼리는 다음과 같습니다.
UPDATE `oltp_db`.`users` SET p_id = 3 LIMIT 1001, 1000;
NULL 값으로 행 업데이트
쿼리 "UPDATE oltp_db.users SET p_id = 3 WHERE p_id = null", 또한 잘못된 것입니다. 항등 연산자 "="는 NULL 값과 함께 사용할 수 없습니다. NULL 값으로 행을 업데이트하려면 다음과 같이 IS NULL 연산자를 사용하세요.
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id IS NULL;
LIMIT를 사용하여 여러 행 업데이트
업데이트된 행 수를 제한하려면 다음을 사용하세요. 다음과 같이 특정 범위의 행 ID를 선택하는 하위 쿼리 쿼리:
UPDATE table_name SET name='test' WHERE id IN ( SELECT id FROM ( SELECT id FROM table_name ORDER BY id ASC LIMIT 0, 10 ) tmp )
이 쿼리는 행 ID가 지정된 범위 내에 있는 'test'로 설정된 'name' 열이 있는 행을 업데이트합니다. 내부 하위 쿼리는 테이블에서 처음 10개의 행 ID를 선택한 다음 외부 업데이트 쿼리의 IN 절에 사용됩니다.
위 내용은 LIMIT를 사용하여 MySQL에서 특정 행 수를 올바르게 업데이트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!