我在SQL SERVER
中发现了以下UPDATE
语句的问题
UPDATE
table_a
SET
table_a.More = -1
FROM
table_a
INNER JOIN
( SELECT column1, COUNT(*) AS More
FROM table_a
GROUP BY column1 ) AS table_b
ON
table_a.column1 = table_b.column1
请注意,INNER JOIN部分使用表本身。在此UPDATE
之后,我预计某些行的More
等于-1
。但我只有1
个。我100%确定column1
有重复。我错过了什么?
我发现的问题是某些人将列More
定义为bit
类型!
答案 0 :(得分:1)
我这里的问题是数据类型,在位类型中你也只能有1或0或NULL。将数据类型更改为int