0
我只想在满足条件时更新列。所以对于列“类型”,我想改变它的值改为“MongoDB的”只有当它的当前值不为“的MongoDB”这是我使用的是什么:SQL:只有满足条件时才更新字段
UPDATE Report
SET Type =
CASE
WHEN Type <> 'MongoDB' THEN 'MongoDB'
ELSE Type
END
WHERE Id = x
的问题是: 即使当类型是 “MongoDB的” 我仍然看到在我的SQL结果
(1影响行(S))
。这个练习的重点是在不需要时减少数据库操作。为什么当条件不满足时它仍然在修改记录?
感谢。
为什么不在'WHERE'子句中添加Type <>'MondoDB''? –
“CASE”语句不会改变哪些记录受到影响。只有他们如何受到影响。相反,坚持WHICH记录的标准将在其所属的'WHERE'子句中受到影响。 – JNevill
@AnthonyForloney我不敢相信我没有想到这一点。谢谢! – 90abyss