1

我在 SQL Server 2005 db 的表中有 2 条记录,它们的数据完全相同。我想更新一条记录。有什么办法吗?不幸的是,这个表没有标识列,我不能使用直接更新查询,因为两者都会更新,因为数据相同。无论如何在 SQL 中使用 rowid 或其他东西服务器2005?

4

2 回答 2

5

我不太喜欢 TOP 运算符,但是:

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

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

于 2010-05-19T14:13:02.120 回答
2

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

于 2010-05-19T14:03:05.100 回答