問題
12
SQL
UPSERT
SQLの問題に挑戦しよう!
問題
「UPSERT」
存在時更新、未存在時挿入を実装してください。
解答と解説(UPSERT)
解説
LINE登録して解答を見る
※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます
UPSERTは「存在すれば更新、存在しなければ挿入」を1文で実行できる構文です。従来はSELECT→条件分岐→INSERT/UPDATEと複数処理が必要でしたが、UPSERTにより簡潔に記述できます。重複キーエラーを回避しつつ安全にデータ更新できるため、ログ更新やマスターデータ同期で頻繁に利用されます。ただし構文はDB製品によって異なるため、使用環境に合わせた実装が必要です。
補足
MySQLではON DUPLICATE KEY UPDATEなど構文が異なります。DB依存性を理解して設計することが重要です。