mysql insert시 중복값 처리 두가지 (중복시 업데이트) > MySQL

본문 바로가기
사이트 내 전체검색

MySQL

mysql insert시 중복값 처리 두가지 (중복시 업데이트)

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 67회 작성일 20-01-09 18:00

본문

1. PK가 있을 경우 ( ON DUPLICATE KEY UPDATE )

(insert sql) + ON DUPLICATE KEY UPDATE + 컬럼명1 = ?, 컬럼명2=?;

id : PK

해당 PK가 테이블에 있을때 변경을 원하는 컬럼을 뒤에 나열해준다.

테이블에 PK가 없으면 앞의 데이터를 넣어주는듯.

sql = 'insert into table01 (`id`,`name`,`age`) values ( ?, ?, ? ) ON DUPLICATE KEY UPDATE name = ?, age = ? ';

 

2. PK가 없을 경우 ( NOT EXISTS )

해당 데이터가 없으면 데이터를 입력해준다.

sql = 'INSERT INTO likes(id,name) SELECT ?, ? FROM DUAL WHERE NOT EXISTS (SELECT id, name FROM table01 WHERE id = ? and name = ?)'

댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

접속자집계

오늘
8
어제
9
최대
70
전체
2,979
Copyright © OHPR All rights reserved.