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

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-12 18:27:02799검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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