인서트와 업데이트를 수행하기 위해 보통 SELECT, INSERT, UPDATE 를 혼합해서 구성하게 됩니다. 


SELECT 의 결과에 따라 UPDATE 나 INSERT 에 대한 코드를 작성하게 되는데, 문제는 이와 같은 과정으로 코드를 작성할 경우 소스가 길어져서 유지보수가 어려워 질 수 있다는 단점이 있습니다.


이 같은 문제를 해결하기 위해 다음의 코드로 적절히 사용해서 문제를 해결할 수 있겠습니다.


 <?php 
 $id 
1
 $name "habony"
 $key "abncdef"

 mysqli_query('INSERT INTO table_name  
    (id, name, key) VALUES ("'
.$id.'", "'.$name.'", "'.$key.'") 
    ON DUPLICATE KEY UPDATE name="'
.$name.'", key="'.$key.'"' 
 ); 
 ?>