SQL Server 2005:从2个相同的记录更新一条记录

时间:2010-05-19 13:59:19

标签: sql-server sql-server-2005 rowid

我在SQL Server 2005 db中的表中有2条记录,它们具有完全相同的数据。 我想要更新一条记录。无论如何要做它?不幸的是这个表没有标识列,我不能使用直接更新查询,因为两者都会更新,因为数据是相同的。无论如何在那里使用rowid或SQL中的东西server 2005?

2 个答案:

答案 0 :(得分:5)

我不太喜欢TOP运营商,但是:

UPDATE top (1) MyTable
 set Data = '123'
 where Data = 'def'

实际上,您希望在表上使用主键以避免这种情况,即使它们只是身份代理值。

答案 1 :(得分:2)

我会在表中添加一个标识列,然后在该标识列上进行更新,或者根据表的主键进行更新,使该行唯一。