插入触发器前包含错误数据
Wrong data included in before insert trigger
我正在尝试创建一个触发器 before insert
,它将使用来自 column1 table2
的数据在 column1 table1
中添加数据,但是当我尝试比较 table1 和table2 并插入,插入发生在所需的下一行
这是我的触发代码:
DELIMITER //
CREATE TRIGGER electricity_consumption_update
before insert ON electr
FOR EACH ROW
BEGIN
set new.electricity_consumption =
(new.`Printer_power_VT` * new.`electricity_kVT/hr` *
(select printing_time_hr from slicer where slicer.id = (select electr.id from electr)) * 0.001);
END //
DELIMITER ;
这里我试图在插入之前比较 table“slicer”和“electr”的 id,但是当我插入第一行时,我想用这个触发器填充的列是空的,当我插入第二行,我用触发器填充的列不是空的,而是获取必须在前一行中的数据
我觉得
= (select electr.id from electr)
应该是
= new.id
我正在尝试创建一个触发器 before insert
,它将使用来自 column1 table2
的数据在 column1 table1
中添加数据,但是当我尝试比较 table1 和table2 并插入,插入发生在所需的下一行
这是我的触发代码:
DELIMITER //
CREATE TRIGGER electricity_consumption_update
before insert ON electr
FOR EACH ROW
BEGIN
set new.electricity_consumption =
(new.`Printer_power_VT` * new.`electricity_kVT/hr` *
(select printing_time_hr from slicer where slicer.id = (select electr.id from electr)) * 0.001);
END //
DELIMITER ;
这里我试图在插入之前比较 table“slicer”和“electr”的 id,但是当我插入第一行时,我想用这个触发器填充的列是空的,当我插入第二行,我用触发器填充的列不是空的,而是获取必须在前一行中的数据
我觉得
= (select electr.id from electr)
应该是
= new.id