计算它们自动放入总列的两列

时间:2013-10-22 00:20:47

标签: mysql sql

是否可以在MySQL结构中创建一个自动对另外两列进行求和的列?

所以,如果我有一个名为TABLE的表:

Column A, Column B, and Column C.

我希望Column C自动汇总Column AColumn B

这可能吗?

如果A改变,C改变。

如果可能的话,如果有的话。如果有的话。

4 个答案:

答案 0 :(得分:3)

您可以使用VIEW实现此目的:

CREATE TABLE table1 (a INT, b INT);  

CREATE
  OR replace VIEW V_TABLE AS
SELECT a, b, a + b AS c
FROM table1;

sqlfiddle

答案 1 :(得分:1)

您需要了解触发器http://dev.mysql.com/doc/refman/5.0/en/trigger-syntax.html

然后您将能够在插入之前和更新之前创建触发器,这将在C列中保持适当的值

答案 2 :(得分:1)

MySQL不直接支持计算列。您可以使用触发器来计算列,但您始终可以在查询中检索计算值:

例如:

SELECT ColumnA, ColumnB, (ColumnA+ColumnB) as ColumnC from myTable

答案 3 :(得分:1)

使用触发器:

DELIMITER $$
CREATE TRIGGER myTableAutoSum
BEFORE INSERT ON `myTable` FOR EACH ROW
BEGIN
    SET NEW.ColumnC = NEW.ColumnA + NEW.ColumnB;
END;
$$
DELIMITER ;

然后这个查询:

INSERT INTO myTable (ColumnA, ColumnB) values(1, 1), (2, 3), (1, 4);

会产生行:

ColumnA  ColumnB  ColumnC
1        1        2
2        3        5
1        4        5