2012-06-09 69 views
1

我有這個疑問MySQL的最低INT

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

我不想this領域有史以來0去下有一些另外我可以添加到這個查詢,以確保這一點,而不必運行另一個查詢?

例如,如果這是18,那麼它將被設置爲-2

(使用MySQL)

回答

2

您可以使用最大功能:

UPDATE table SET this = greatest(0,this-20) WHERE this >= 0 

,基本上設置這個值與更大的價值考慮這 - 20和。

0

更改您的條件WHERE (this - 20) >= 0。 然後創建一個檢查約束:ALTER TABLE [table] ADD CONSTRAINT ThisGreaterThanZero CHECK (this >= 0)