【问题标题】:Wrong data included in before insert trigger插入触发器之前包含错误的数据
【发布时间】:2022-01-19 12:02:03
【问题描述】:

我试图创建一个触发器before insert,它将使用来自column1 table2 的数据在column1 table1 中添加数据,但是当我尝试比较table1 和table2 之间的id 并插入时,插入发生在所需的下一行

这是我的触发代码:

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 ;

这里我试图在插入之前比较表“slicer”和“electr”的 id,但是当我插入第一行时,我想通过这个触发器填充的列是空的,当我插入第二行时,我用触发器填充的列不是空的,而是获取必须在前一行中的数据

【问题讨论】:

    标签: mysql sql database triggers


    【解决方案1】:

    我认为

    = (select electr.id from electr)
    

    应该是

    = new.id
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多