본문 바로가기

IT노트(구)/MySQL

MySQL에서 insert와 update를 동시에 하고 싶을 때

MySQL에서 insert와 update를 동시에 하고 싶을 때(없으면 insert하고 있으면 update하고!)

어떤 방법을 써야할까?[쿼리 하나로 조지고(?) 싶다면!]


다음과 같이 처리하면 된다!(on duplicate key update 구문을 사용하면 된다!)



insert into students

(id, name)
values
('1', 'james')
on duplicate key update
id = '1', name = 'james';


(on duplicate key update는 이름 그대로 일종의 조건문인 셈이다!)


대신 위의 쿼리를 사용하려면


primary key와 같은 unique key 설정이


해당 테이블에 세팅이 되어야만 한다!(그래야 중복인지 아닌지 등을 체크할 수 있으므로!)