MySQLでupsertは標準機能で出来た(ON DUPLICATE KEY UPDATE)。mysql 4.1.0以降からあったのか…。知らんかった!!

MySQLでupsertは標準機能で出来た(ON DUPLICATE KEY UPDATE)。mysql 4.1.0以降からあったのか…。知らんかった!!


本の情報を管理するテーブル作成

最初に存在チェックをした後に、INSERTするかUPDATEするかしないとダメ

ON DUPLICATE KEY UPDATEを使えば、SQL1回発行するだけでUPSERT出来る(前半はINSERT文で、キーが重複していたら値を更新する)

※あまりないと思うけど、INSERTする時にユニークキーを含まないと複数行ヒットしてしまう。
UPDATEみたいに全更新はされずに、1行だけ更新らしい。

今まではPHPとかで処理分けしていたけど、こんな単純なSQLで実現できたんだ…。