首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REPLACE INTO查询是不是很好的做法?

问REPLACE INTO查询是不是很好的做法?
EN

Stack Overflow用户
提问于 2012-07-11 16:18:49
回答 2查看 4.3K关注 0票数 7

我需要一个SQL查询来更新或创建一个数据库条目(如果某个客户还不存在)。我在互联网上找到了当前的解决方案:

代码语言:javascript
复制
command.CommandText = "REPLACE INTO [Resource_Tracer].[dbo].[Customer](CustomerName, CustomerID) VALUES (@CustomerName, @CustomerID)"

由于我看不到它经常被使用,而且实际上从来没有听说过它,这真的是我想要的解决方案吗,或者我应该手动完成?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-11 16:27:04

建议的REPLACE INTO和ON DUPLICATE KEY替代方案都是MySQL变体中的非标准SQL。所以你是否使用它取决于a)你是否在使用MySQl,b)你是否想要绑定到那个变种。

ANSI SQL定义了更标准的MERGE语法(如果在您的平台上实现的话)。

票数 5
EN

Stack Overflow用户

发布于 2012-07-11 16:20:54

更常用的用法是

代码语言:javascript
复制
INSERT INTO table col1) VALUES (1)
ON DUPLICATE KEY UPDATE col1=VALUES(Col1)

replace into实际上删除了一个重复的条目并插入了一个新条目。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11428386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档