我有:

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

最佳答案

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

DELIMITER $$

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

DELIMITER ;


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

关于mysql - 在插入期间创建总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26087625/

10-13 03:29