Live Brilliant

[php] mysql db 중복시 업데이트 (INSERT ... ON DUPLICATE KEY UPDATE Syntax) 본문

개발은 핵찜이야/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);

 

Comments