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

본문
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 = ?)'- 이전글#1118 - row size too large ( 8126) 20.01.09
- 다음글중복된 항목 갯수 카운트 20.01.03
댓글목록
등록된 댓글이 없습니다.