一尘不染

SQL Server是否提供类似MySQL的ON DUPLICATE KEY UPDATE的功能

mysql

在MySQL中,如果您指定ON DUPLICATE KEY
UPDATE
并插入一行,这将导致UNIQUE索引或PRIMARY
KEY中的值重复,那么将执行旧行的UPDATE。例如,如果将列a声明为UNIQUE并包含值1,则以下两个语句具有相同的作用:

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE c=c+1;

UPDATE table SET c=c+1 WHERE a=1;

我不相信我在T-SQL中遇到过类似问题。SQL Server是否提供与MySQL的ON DUPLICATE KEY UPDATE相当的功能?


阅读 700

收藏
2020-05-17

共1个答案

一尘不染

没有等效的DUPLICATE KEY UPDATE,但MERGE和WHEN MATCHED可能对您有用

使用MERGE插入,更新和删除数据

2020-05-17