REPLACE
データベースのテーブルに行を追加するのはINSERTだが、
PRIMARY KEYやUNIQUEを設定してあるテーブルでもし重複するデータを追加しようとした場合、
INSERTでの追加はできない。
すでにデータがある場合に更新するならUPDATEだが、
UPDATEでは存在しない場合に追加されない。
PRIMARY KEYやUNIQUEがあるテーブルを操作する場合はREPLACEが多いのではないだろうか。
use DBI;
$dsn="DBI:mysql:db";
$dbh=DBI->connect($dsn,'user','pass');
$dbh->do("REPLACE INTO Item (ItemId,ItemName) VALUES ('100','パソコン')");
$dbh->disconnect;
「ItemId」「ItemName」というフィールドのあるテーブルで、「ItemId」が主キーで、
ItemId=100の行のItemNameを'パソコン'にする例。
ItemId=100が存在しない場合は新たに追加。
ItemId=100が存在する場合は更新される。
MySQL入門