一尘不染

插入MySQL表或更新(如果存在)

mysql

我想向数据库表中添加一行,但是如果存在具有相同唯一键的行,我想更新该行。

例如:

insert into table (id, name, age) values(1, "A", 19)

假设唯一键为id,并且在我的 数据库 中有一行id = 1。在这种情况下,我想用这些值更新该行。通常,这会产生错误。
如果使用insert IGNORE它,将忽略该错误,但仍不会更新。


阅读 353

收藏
2020-05-17

共1个答案

一尘不染

采用 INSERT ... ON DUPLICATE KEY UPDATE

查询:

INSERT INTO table (id, name, age) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE    
name="A", age=19
2020-05-17