IT노트(구)/MySQL
MySQL에서 insert와 update를 동시에 하고 싶을 때
스프링연구소
2015. 11. 11. 23:24
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 설정이
해당 테이블에 세팅이 되어야만 한다!(그래야 중복인지 아닌지 등을 체크할 수 있으므로!)
어떤 방법을 써야할까?[쿼리 하나로 조지고(?) 싶다면!]
다음과 같이 처리하면 된다!(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 설정이
해당 테이블에 세팅이 되어야만 한다!(그래야 중복인지 아닌지 등을 체크할 수 있으므로!)