列中的sql server update(重复值) - 有多少更新?

时间:2016-06-09 07:44:32

标签: sql sql-server sql-update

当我在SQL Server中执行此操作时

update table 
set column = @value
where id in (1,2,2)

将执行多少次更新? 2或3,其中两行更新,其中id = 2?

2 个答案:

答案 0 :(得分:2)

使用select测试代码。并且您将看到将更新多少行。

为计数

select count(*) from table
where id in (1,2,2)

查看正在更新的行

select * from table
where id in (1,2,2)

如果id是主要密钥(并且只有一个,2行)

答案 1 :(得分:1)

declare @table table (id int, num int)
insert into @table values (1,1),(2,1)

update @table
set num = num + 1
where id in (1,2,2)

select * from @table

结果是:

id  num
1   2
2   2

因此,update将对set中的每个唯一值执行一次。