在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;
Run Code Online (Sandbox Code Playgroud)
我不相信我在T-SQL中遇到过类似的东西.SQL Server是否提供了与MySQL的ON DUPLICATE KEY UPDATE相当的东西?
REPLACE INTO blastersmembers (member_id, name, member_group_id, email, joined,
/* etc. */
Run Code Online (Sandbox Code Playgroud)
我没有把整件事包括在内,因为我认为它不相关.我基本上想要插入一行,如果它不存在,否则替换现有的行.