我有这个查询
UPDATE table SET this = this-20 WHERE this >= 0
我不希望this
字段永远不到0.是否有一些额外的内容我可以添加到此查询中以确保这一点,而无需运行其他查询?
例如,如果这是18,则将其设置为-2
(使用MYSQL)
答案 0 :(得分:2)
您可以使用 Greatest 功能:
UPDATE table SET this = greatest(0,this-20) WHERE this >= 0
基本上将此值设置为较大的值,考虑 this - 20 和 0 。
答案 1 :(得分:0)
将您的条件更改为WHERE (this - 20) >= 0
。
并创建一个检查约束:ALTER TABLE [table] ADD CONSTRAINT ThisGreaterThanZero CHECK (this >= 0)
。