如果存在则如何更新,如果不存在则在 MySQL 中插入(AKA“upsert"或“merge")?
有没有一种简单的方法可以在行不存在时INSERT
,或者如果存在则UPDATE
,使用一个MySQL 查询?
Is there an easy way to INSERT
a row when it does not exist, or to UPDATE
if it exists, using one MySQL query?
推荐答案
使用 INSERT ... ON DUPLICATE KEY UPDATE
.例如:
Use INSERT ... ON DUPLICATE KEY UPDATE
. For example:
INSERT INTO `usage`
(`thing_id`, `times_used`, `first_time_used`)
VALUES
(4815162342, 1, NOW())
ON DUPLICATE KEY UPDATE
`times_used` = `times_used` + 1
相关文章