在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相当的功能?
没有等效的DUPLICATE KEY UPDATE,但MERGE和WHEN MATCHED可能对您有用
使用MERGE插入,更新和删除数据