1. ホーム
  2. sql

[解決済み] MySQLでupdate if exists, insert if not (AKA "upsert" or "merge") するにはどうしたらいいですか?

2022-04-28 07:49:21

質問

を簡単に行う方法はありますか? INSERT 行が存在しない場合、または UPDATE が存在する場合、1つのMySQLクエリを使用するのですか?

どのように解決するのですか?

使用方法 INSERT ... ON DUPLICATE KEY UPDATE . 例えば

INSERT INTO `usage`
(`thing_id`, `times_used`, `first_time_used`)
VALUES
(4815162342, 1, NOW())
ON DUPLICATE KEY UPDATE
`times_used` = `times_used` + 1