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

MySQL如何创建AFTER INSERT触发器实现记录自动插入另一表

MySQL AFTER INSERT触发器实现emp_demo到emp_demos的数据同步

实现代码

直接执行以下SQL即可创建符合要求的触发器:

-- 避免同名触发器存在导致创建失败,先执行删除
DROP TRIGGER IF EXISTS trg_sync_emp_demo_to_demos;

-- 临时修改语句分隔符,兼容触发器内的分号
DELIMITER //
CREATE TRIGGER trg_sync_emp_demo_to_demos
AFTER INSERT ON emp_demo
FOR EACH ROW
BEGIN
    -- 读取新插入行的字段值,写入目标表
    INSERT INTO emp_demos (emp_demo_id, emp_demo_name)
    VALUES (NEW.emp_demo_id, NEW.emp_demo_name);
END //
-- 改回默认的分号分隔符
DELIMITER ;

关键说明

  • 触发器绑定在emp_demo表的插入事件上,FOR EACH ROW代表每插入一行就触发一次同步逻辑
  • NEW是MySQL触发器的内置关键字,指向当前刚插入完成的新记录行,通过NEW.字段名即可获取该行对应字段的写入值
  • 执行DELIMITER命令是为了临时调整语句结束标识,避免触发器定义体内的分号被MySQL提前解析为语句结束,导致创建语法错误
  • 如果后续两张表同步增减字段,需要同步修改触发器内的插入字段列表,否则会出现字段不匹配的报错

效果验证

执行以下测试SQL即可确认同步逻辑生效:

-- 向原表插入示例数据
INSERT INTO emp_demo (emp_demo_id, emp_demo_name) VALUES (1, 'xyz');
-- 查询目标表数据
SELECT * FROM emp_demos;

查询结果会返回emp_demo_id=1、emp_demo_name='xyz'的记录,证明自动同步成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 17:30:41