我希望通过在Ordering字段上增加1来更新每一行,对于Ordering GREATER OF EQUAL比某些值而不是特定行的每一行(例如,IdClass = 15,IdContent = 9) - 两者都是主要的键)
像
UPDATE Content_Class
SET Ordering=Ordering+1
WHERE Ordering>= 4
AND (IdClass <> 15 AND IdContent <> 9)
这个问题是,(IdClass = 15,IdContent = 8)和(IdClass = 15,IdContent = 9)被忽略的是这个查询。
如何只使用一个查询来完成此操作?
答案 0 :(得分:1)
也许是这样的:
UPDATE Content_Class
SET Ordering=Ordering+1
WHERE Ordering>=4
AND NOT(IdClass = 15 AND IdContent = 9)
答案 1 :(得分:1)
UPDATE Content_Class
SET Ordering=Ordering+1
WHERE Ordering>= 4
AND (IdClass <> 15 OR IdContent <> 9)
OR
UPDATE Content_Class
SET Ordering=Ordering+1
WHERE Ordering>= 4
AND IdClass NOT IN (15,9)