CSVなどからデータを取得して、
データベースへ取り込む際、
良くある方法としては、
・ユニークとなる項目をキーとしてSELECTで重複データが存在するかをチェック、
・テーブルに重複データが無ければINSERT用のSQLを実行、
・重複データがあればUPDATE用のSQL実行、
という処理を書きます。
が、
「ON DUPLICATE KEY UPDATE」を使った方が処理もすっきりして良いですね!!
例えば「user_id」というユニークキーが存在する場合、
INSERT INTO `テーブル名` (`user_id`, `user_name`, `created`, `modified`) VALUES (1, '山田', NOW(), NOW())
ON DUPLICATE KEY UPDATE `user_name` = '山下', `modified` = NOW();
というようなSQLを実行させます。
この記事へのコメントはありません。