2011年4月30日土曜日

SQLのUPDATEで自動で計算して計算してくれる。

MySqlをよく使うのですが
あるテーブル(ZAIKO_KANRI)で例えば

ID , item_name , zaiko
1  , 商品名1  ,  10
2  , 商品名2  ,  15
3  , 商品名3  ,  30
4  , 商品名4  ,  5
5  , 商品名5  ,  20

と言う感じでフィールドがあったとします。
ここで、例えばUPDATEでzaikoの数をコチラが渡す数値で勝手に足し算、引き算してほしい!って時に便利

例えば、在庫の減算
UPDATE `ZAIKO_KANRI` SET `zaiko` = `zaiko` - 1 WHERE `id` = 1
とすると、ID:1のフィルードzaiko の数値10-1となり、UPDATEと同時に計算してくれる
やっぱりデータベース便利だなぁ〜
結果はこうなる

ID , item_name , zaiko
1  , 商品名1  ,  9
2  , 商品名2  ,  15
3  , 商品名3  ,  30
4  , 商品名4  ,  5
5  , 商品名5  ,  20

もちろん + すると加算してくれる。