ON DUPLICATE KEY UPDATEとは

今回は、SQLのお話。
アクセスカウントなどを専用のテーブルに保存する場合、
ON DUPLICATE KEY UPDATE が便利。
普通は、
update counttable set count = count+1 where id = id
なんて感じでやりますが、そもそもupdate文はデータが存在する場合の更新処理なんで、
予めデータがinsertされていなければなりません。
なので、データが存在していればupdate、存在していなければinsert、なんて感じの
分岐処理が必要です。
こんな時便利なのが、今回のこれです。
ズバリ、
insert into counttable (id, count) values (id, count) ON DUPLICATE KEY UPDATE count = count+1
このSQL文がまさに、
「データが存在していればupdate、存在していなければinsert」
という処理になります。
詳しくは、「ON DUPLICATE KEY UPDATE」で検索!!

コメントを残す