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

如何创建accounting表插入触发器,从enclosure表获取time字段值

解决方案

表结构

enclosure
----
id
time
label

accounting
---
id
enclosure_id
time

插入触发器代码

需要创建BEFORE INSERT类型的触发器,在accounting表插入数据前,从enclosure表获取对应time值并填充到新记录中:

CREATE TRIGGER `accounting-before_insert-time` BEFORE INSERT ON `accounting`
FOR EACH ROW BEGIN
    -- 根据插入的enclosure_id匹配enclosure表的id,获取对应time值赋值给新记录的time字段
    SELECT time INTO NEW.time FROM enclosure WHERE id = NEW.enclosure_id;
END

逻辑说明

  • 选用BEFORE INSERT触发器:能在数据正式写入accounting表前修改待插入记录的time字段,确保插入后的数据直接带有正确值
  • SELECT ... INTO NEW.time:直接将enclosure表中匹配id的time值赋值给要插入的accounting记录的time字段
  • 补充提示:如果插入的enclosure_id在enclosure表中不存在,NEW.time会被设为NULL,可根据业务需求添加额外判断(比如抛出错误或设置默认值)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 13:52:03