使用t-sql更新单行

dan*_*tch 18 sql t-sql sql-server

我想在我的日期库中更新一行.问题是,通过我的错误,我有两行相同的数据.如何在一行上运行更新?

spe*_*der 21

在SQL Server 2005+中,您可以使用

UPDATE TOP (1) ....
Run Code Online (Sandbox Code Playgroud)

这种优势的好处SET ROWCOUNT是任何触发器都不会受到ROWCOUNT限制,这几乎肯定是一件好事.


Bil*_*zke 16

表通常具有唯一ID.你应该过滤它.

例如,

UPDATE YourTable
SET YourColumnToUpdate = 'your_value'
WHERE YourUniqueColumn = @Id
Run Code Online (Sandbox Code Playgroud)

如果您的表没有唯一ID,请考虑添加一个:integer带有Primary Key和的列Identity.