SQL Update单行,Where子句

时间:2017-11-10 20:12:49

标签: sql where

我正在通过唯一索引更新单行

UPDATE Users SET Enabled=1 WHERE Id=1

检查执行速度是否已经Enabled

是否有意义
UPDATE Users SET Enabled=1 WHERE Id=1 AND Enabled<>1

1 个答案:

答案 0 :(得分:1)

我喜欢编写幂等的SQL脚本:

UPDATE Users 
SET Enabled=1 
WHERE Id=1 
  AND Enabled<>1;   -- if column is defined as NOT NULL

方案:

  • 写入影子/历史记录表的触发器(它只会触发一次)
  • 上次更新日期(仅更改一次)
  • 更改跟踪不会将行标记为已更新
  • 可能更慢但更一致