개발은 핵찜이야/PHP
[php] mysql db 중복시 업데이트 (INSERT ... ON DUPLICATE KEY UPDATE Syntax)
주인정
2019. 4. 16. 19:45
php 개발
# db insert시 중복 데이터가 존재하면 업데이트 처리
1. 단일 데이터
INSERT INTO t1 (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
2. 중복시 에러 무시
$vals = array(0=>"('1','1','1')",1=>"('2','2','2')");
$arr_vals = implode(",", array_values($vals));
//IGNORE 중복 에러 무시
$sql = "INSERT IGNORE t1 (a,b,c) VALUES ".$arr_vals;
3. 멀티 데이터
$vals = array(0=>"('1','1','1')",1=>"('2','2','2')");
$arr_vals = implode(",", array_values($vals));
$sql = "INSERT INTO t1 (a,b,c) VALUES ".$arr_vals."ON DUPLICATE KEY UPDATE c=VALUES(a)+VALUES(b);