2011-09-05 3 views
1

안녕하세요, 다음 SQL 쿼리가 있습니다.INSERT 전에 mysql에서 값을 확인하는 방법

INSERT INTO ps_ext_mod (id_order,product_reference,id_customer,email) 
SELECT d.id_order, d.product_reference, o.id_customer, c.email 
FROM ps_orders o 
INNER JOIN ps_order_detail d ON d.id_order = o.id_order 
INNER JOIN ps_customer c ON c.id_customer = o.id_customer 

나는 삽입 할 값이 이미있는 id_order가 있으면 ps_ext_mod 테이블을 확인해야합니다. 그럴 경우 삽입하지 마십시오.

INSERT INTO ps_ext_mod (id_order,product_reference,id_customer,email) 
SELECT d.id_order, d.product_reference, o.id_customer, c.email 
FROM ps_orders o 
INNER JOIN ps_order_detail d ON d.id_order = o.id_order 
INNER JOIN ps_customer c ON c.id_customer = o.id_customer 
LEFT JOIN ps_ext_mod em ON em.id_order = d.id_order 
WHERE em.id_order IS NULL 

답변

3

그냥 테이블에 다시 가입하고 가입 어디에서 찾아보실 수 있습니다 즉, 실패

0
INSERT INTO ps_ext_mod (id_order,product_reference,id_customer,email) 
SELECT d.id_order, d.product_reference, o.id_customer, c.email 
FROM ps_orders o 
INNER JOIN ps_order_detail d ON d.id_order = o.id_order 
INNER JOIN ps_customer c ON c.id_customer = o.id_customer 
LEFT JOIN ps_ext_mod m on m.id_order = d.id_order 
where m.id_order is null; 
관련 문제