You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何创建MySQL INSERT触发器实现两列数值计算?附示例

如何创建触发器对两列进行数值运算?

要在插入数据时通过触发器自动完成列的数值运算并赋值给目标列,可以使用BEFORE INSERT类型的触发器,针对每一行插入数据执行计算逻辑。

正确的示例代码(修正语法问题)

CREATE TRIGGER `POBRANY` BEFORE INSERT ON `TAB1`
FOR EACH ROW SET
NEW.POBR_SUROW = (NEW.Column_1_ILO + NEW.Column_2_ILO + NEW.Column_3_ILO + NEW.Column_4_ILO + NEW.Column_5_ILO + NEW.Column_6_ILO),
NEW.SUMA_GODZIN = (NEW.LICZBA_GODZIN_PRACY * NEW.ILO_OS_B_NA_PRODUKCJI)

代码说明

  • CREATE TRIGGER \POBRANY`:定义名为POBRANY`的触发器
  • BEFORE INSERT ON \TAB1`:指定触发器在向TAB1`表插入数据前执行
  • FOR EACH ROW:对每一条待插入的行都触发逻辑
  • SET后通过逗号分隔多个赋值操作:
    • NEW.POBR_SUROW:将6个列的数值求和后赋值给该列
    • NEW.SUMA_GODZIN:将LICZBA_GODZIN_PRACY和ILO_OS_B_NA_PRODUKCJI两列相乘后赋值给该列

扩展说明

如果需要在更新数据时也自动执行这些运算,可以将触发器类型改为BEFORE UPDATE,或者同时创建BEFORE INSERT和BEFORE UPDATE的触发器,确保数据变更时目标列值始终准确。

内容的提问来源于stack exchange,提问作者1shot2killz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 05:30:50