插入期间创建总和

时间:2014-09-28 17:33:01

标签: mysql triggers

我有:

create table myT(
    p1  float(6,2),
    p2  float(6,2),
    p3  float(6,2),
    date timestamp not null DEFAULT CURRENT_TIMESTAMP,
    primary key(date)
);

并触发:

CREATE TRIGGER sum BEFORE INSERT ON myT FOR EACH ROW SET @p3= @p2+@p1;

将此插入:

INSERT INTO `myT`(`p1`,`p2`) VALUES (10, 2);

我在p3中得到一个空值,而我期望12

1 个答案:

答案 0 :(得分:0)

我认为这是你想要的触发器:

DELIMITER $$

CREATE TRIGGER sum BEFORE INSERT ON myT
FOR EACH ROW
    SET NEW.p3 = NEW.p2 + NEW.p1;

DELIMITER ;

此触发器中似乎不需要用户变量。