mysql最小的int

时间:2012-06-09 18:15:18

标签: mysql int minimum

我有这个查询

UPDATE table SET this = this-20 WHERE this >= 0

我不希望this字段永远不到0.是否有一些额外的内容我可以添加到此查询中以确保这一点,而无需运行其他查询?

例如,如果这是18,则将其设置为-2

(使用MYSQL)

2 个答案:

答案 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)