我需要一个SQL查询来更新或创建一个数据库条目(如果某个客户还不存在)。我在互联网上找到了当前的解决方案:
command.CommandText = "REPLACE INTO [Resource_Tracer].[dbo].[Customer](CustomerName, CustomerID) VALUES (@CustomerName, @CustomerID)"由于我看不到它经常被使用,而且实际上从来没有听说过它,这真的是我想要的解决方案吗,或者我应该手动完成?
发布于 2012-07-11 16:27:04
建议的REPLACE INTO和ON DUPLICATE KEY替代方案都是MySQL变体中的非标准SQL。所以你是否使用它取决于a)你是否在使用MySQl,b)你是否想要绑定到那个变种。
ANSI SQL定义了更标准的MERGE语法(如果在您的平台上实现的话)。
发布于 2012-07-11 16:20:54
更常用的用法是
INSERT INTO table col1) VALUES (1)
ON DUPLICATE KEY UPDATE col1=VALUES(Col1)replace into实际上删除了一个重复的条目并插入了一个新条目。
https://stackoverflow.com/questions/11428386
复制相似问题