2013-03-31 1 views
0

나는이 이와 같은 테이블 :삽입/업데이트 테이블

column1 - primary 
column2 - unique 
column3 

다음과 같이 행동해야 내 쿼리 :

  • 1 열 및 2 열이 다른 삽입하면
  • 업데이트 3 열 모두 일치하는 경우
  • 하나만 일치하면 아무 작업도하지 않음

나는 INSERT ... ON DUPLICATE KEY UPDATE ...에 대해 읽었지 만 제 3의 요청과 잘 어울리지 않는 것 같습니다. 도와 주셔서 미리 감사드립니다.

+0

. 두 개의 쿼리를 사용해도 괜찮습니까? –

+1

예 두 가지 쿼리를 사용할 수 있습니다. – Ithilion

답변

0

두 경우 모두 다른 경우 삽입하고 둘 다 동일하면 업데이트하는 것 같습니다. 이 "1"세 가지 모두 같은 열 값이 (1,1,1) 업데이트/삽입 사용 : 당신은 하나 개의 쿼리로이 작업을 수행 할 수

insert into yourtable 
select distinct 1,1,1 
from yourtable 
where column1 <> 1 and column2 <> 1; 

update yourtable 
set column3 = 1 
where column1 = 1 and column2 = 1; 

SQL Fiddle Demo