【发布时间】:2013-07-05 16:12:35
【问题描述】:
我想将一组数据存储到数据库中但是如果它是预先存在的记录,我想更改它。否则,创建一个新的。是否有一个组合声明? (谷歌搜索时没有。)
现在,我最好的办法是检查是否已经存在,然后执行其中一项操作。对我来说似乎很麻烦。
create table Stuff (
Id int identity(1001, 1) primary key clustered,
Beep int unique,
Boop nvarchar(50))
【问题讨论】:
-
根据数据库引擎有不同的实现,例如 MySQL 使用
INSERT... ON DUPLICATE KEY,MSSQL 使用MERGE。如果您发布哪个 RDBMS,我可以为您指明特定 db 的正确语法方向 -
@StephLocke 抱歉 - 我忘记了数据库的种类。它是云中的 SQL Server,即 Azure。我将给 MERGE 一个重击,欢迎您发表评论作为回复,如果建议有效,我可以将其作为答案进行检查。