我有一张 table
UserId Name Age
1 Lisha 23
2 Ankur 21
3 Karan 22
对于特定的给定 UserId,如果给定年龄与当前年龄不同,我想更新年龄。否则,如果 UserId 不存在,我想插入一个新行。
如何在单个 SQL 语句中执行此操作。
最佳答案
MySQL 有一个简洁的语法可以做到这一点,尽管它以相反的方式进行 - 你定义你想要插入的内容,如果生成重复键错误,你定义你想要更新的方式数据代替:
INSERT INTO users
(userid, age)
ON DUPLICATE KEY UPDATE age = VALUES(age)
关于mysql - 如果特定列值不同则更新行,否则插入新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33201936/