是否可以在MySQL结构中创建一个自动对另外两列进行求和的列?
所以,如果我有一个名为TABLE
的表:
Column A, Column B, and Column C.
我希望Column C
自动汇总Column A
和Column B
。
这可能吗?
如果A改变,C改变。
答案 0 :(得分:5)
可以使用View或触发器。在大多数情况下,View是更好的解决方案。
查看:
您的表格TABLE
只有A
和B
列
然后视图看起来像这样:
create or replace view V_TABLE as
select A, B, A + B as C
from TABLE;
如果需要查询TABLE,则使用视图而不是表本身。每个查询都将返回正确的C。
触发器:
您的表格TABLE
将包含所有三列A
,B
和C
。
您可以在A
和B
上创建一个触发器,在C
或A
更改后立即更新B
。
这个答案假定在您的情况下,直接在您的应用程序中计算值是不可行的。
答案 1 :(得分:3)
最好的方法是在将数据库中的记录插入数据库之前计算它们。