-1

我有一个名为“出席”的表,其中有几列。

我想添加 2 列并将结果放在同一张表的第三列中。

如何在 Mysql 中做到这一点?

我希望每次有新条目出现时都会发生这种情况。

4

1 回答 1

1

更新:如果您无法控制INSERT语句并且希望保留计算的列值,则可以使用BEFORE INSERT触发器

CREATE TRIGGER tg_bi_attendance
BEFORE INSERT ON attendance
FOR EACH ROW
  SET NEW.column3 = NEW.column1 + NEW.column2;

注意:您可能必须涵盖其中的值column1和/或column2正在更新的情况。为此使用单独的BEFORE UPDATE触发器。

CREATE TRIGGER tg_bu_attendance
BEFORE UPDATE ON attendance
FOR EACH ROW
  SET NEW.column3 = NEW.column1 + NEW.column2;

这是SQLFiddle演示


否则,只需在SELECT子句中即时计算

SELECT column1, column2, column1 + column2 column3
  FROM attendance

或创建视图

CREATE VIEW vw_attendance AS
SELECT column1, column2, column1 + column2 column3
  FROM attendance


要更新表中已经存在的行,请使用UPDATE

UPDATE attendance
   SET column3 = column1 + column2
于 2013-09-15T04:57:12.227 回答