2012-09-24 143 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

我想按两个字段的差异对数组进行排序。所以如果我能够拥有一个能够做到这一点的领域,我就能够按照这个领域进行排序。相反,我不得不排序在应用程序级别,我似乎无法弄清楚如何排序多维数组。 –