2012-09-24 177 views
1

是否可以在MySQL結構中創建一個自動求和其他兩列的列?MySQL:兩列總和

所以,如果我有一個表叫TABLE

Column A, Column B, and Column C. 

我想Column C自動總結Column AColumn B

這可能嗎?

如果A改變,C改變。

回答

5

它可能與視圖或觸發器。在大多數情況下,View是更好的解決方案。

查看:

你的表TABLE將僅列AB。然後
的看法會是這個樣子:

create or replace view V_TABLE as 
select A, B, A + B as C 
from TABLE; 

如果您需要查詢表使用視圖,而不是表本身。每一個查詢比返回正確的C.

觸發:

你的表TABLE將有三個列ABC
您將在AB上創建觸發器,該觸發器會在AB更新時更新C

這個答案假設您的情況下直接在您的應用程序中計算值是不可行的。

3

最好的方法是在將其插入數據庫之前計算應用程序級別的記錄。

+0

+1我認爲這是最好的advcie。 –

+0

@AndrásOttó我部分同意你的看法。如果該值是手動編輯或由某個腳本編輯的話 – codingbiz

+0

我想按兩個字段的差異對數組進行排序。所以如果我能夠擁有一個能夠做到這一點的領域,我就能夠按照這個領域進行排序。相反,我不得不排序在應用程序級別,我似乎無法弄清楚如何排序多維數組。 –