INSERTするデータが既に作成されていればUPDATEにしたい

いつもよく忘れるのでメモ。

ON DUPLICATE KEY UPDATE句を使うといいみたい。

例:ユーザのポイントを一括100Pt追加。但し既にテーブルが作成されていればポイントを加算。
INSERT INTO `points` (`user_id`, `point`) SELECT id, "100" FROM `users` ON DUPLICATE KEY UPDATE `point` = `point` + 100;

コメントを残す

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