MySQLでInsertとUpdateを同時に行う方法 – ON DUPLICATE KEY UPDATE文

MySQLでInsertとUpdateを同時に行う方法

対象のレコードが存在すれば更新し、なければ登録といったinsert/updateを行いたい時があると思います。
その時に便利なのがON DUPLICATE KEY UPDATE文です。

この構文を使うと一発で実現可能です。

使い方

使い方は単純で

INSERT INTO a_table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;

こんな感じで使用します。

流れとしては
– a_tableにaという主キーがある前提で。
– a=1のレコードがなければ新規登録。
– a=1のレコードがあればcの値を+1する。
といった感じです。

とてもシンプルでわかりやすいです。

これを利用すれば、
今までselect文を使って存在確認をし、あればupdate処理、なければinsert処理といった
複数・分岐の処理を行わなくて済みます。

ぜひ利用してみてください。

こちらの記事もどうぞ

MYSQLにおけるGROUP BY句での処理・別名利用‎

“MySQLでInsertとUpdateを同時に行う方法 – ON DUPLICATE KEY UPDATE文” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください