특정 조건에 따라 조건부로 MySQL 테이블에 데이터를 삽입하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-11-12 18:27:02
원래의
796명이 탐색했습니다.

How can I conditionally insert data into a MySQL table based on specific conditions?

SELECT를 사용하는 MySQL 조건부 INSERT 문

특정 조건이 충족되는 경우에만 테이블에 데이터를 삽입해야 하는 경우가 종종 있습니다. 저장 프로시저는 이를 달성하기 위한 한 가지 방법을 제공하지만 SQL 쿼리에서 직접 조건부 삽입을 수행할 수 있는 방법을 살펴보겠습니다.

조건부로 데이터를 삽입하려면 다음 구문을 활용할 수 있습니다.

INSERT INTO TABLE
SELECT value_for_column1, value_for_column2, ...
FROM wherever
WHERE your_special_condition
로그인 후 복사

WHERE 절의 하위 쿼리가 조건이 충족되지 않아 행을 반환하지 않으면 삽입이 발생하지 않습니다.

예:

다음 테이블을 고려하세요.

CREATE TABLE products (id INT PRIMARY KEY AUTO_INCREMENT, qty_on_hand INT);
CREATE TABLE orders (id INT PRIMARY KEY AUTO_INCREMENT, product_id INT, qty INT);
로그인 후 복사

부두인형(제품 ID 2) 20개를 주문하려면 재고가 충분한지 확인하고 다음과 같이 조건부로 주문을 입력할 수 있습니다.

INSERT INTO orders (product_id, qty)
SELECT 2, 20
WHERE (SELECT qty_on_hand FROM products WHERE id = 2) > 20;
로그인 후 복사

수량이 손이 충분하면 주문 행이 생성됩니다. 그렇지 않으면 삽입이 발생하지 않습니다. 이 방법은 재고 가용성을 확인하고 단일 트랜잭션에서 삽입을 실행하여 동시성 문제를 완화하는 데 도움이 됩니다.

위 내용은 특정 조건에 따라 조건부로 MySQL 테이블에 데이터를 삽입하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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