开发者社区> 问答> 正文

mysql 触发器插入时条件问题

mysql的触发器:业务如下:现有A B C 三张表,A表和B表是关联关系(主外键关联,A表的外键pid对应B表的主键id)想要在A表下写一个触发器。当A插入一条新的数据时,将A表的两个字段aa和cc的数据以及相关联的B表的字段ee ff gg 插入到C(c表的字段:aa cc ee ff gg)表中。请问这个业务该如何实现啊? 我的初步想法是这个样子的,但是有问题,找不到这个New

CREATE TRIGGER `insert_rate_trigger` AFTER INSERT ON `in_rates` FOR EACH ROW BEGIN
 INSERT INTO hx_info (in_id,in_product_code,in_product_name,agreem_code,contract_code,risk_code,in_pro_short_name,sub_risk_flag,kind_code) 
 SELECT t1.id,t1.in_product_code,t1.in_product_name,t2.string1,t2.string2,t1.risk_code,t1.in_pro_short_name,t1.sub_risk_flag,t1.kind_code
 FROM in_manage t1, in_rate t2
 WHERE t1.id = t2.pid and t2.id = New.id;
 END
;;
delimiter ;

展开
收起
海边一只船 2020-05-27 10:53:03 850 0
1 条回答
写回答
取消 提交回答
  • CREATE TRIGGER save_at_same_time -- 触发器名称 
    AFTER INSERT ON A -- 表名 FOR EACH ROW
    BEGIN 
    INSERT INTO C (aa,cc,ee,ff,gg)
    SELECT aa,cc,ee,ff,gg FROM A JOIN B WHERE xxx
    END;
    
    

    定义一个版本号字段,或者查询条件为最新一条,每次触发触发器的时候,对A表最新一条记录,或者版本号最大的一条记录,进行关联,字段入C库

    2020-05-27 11:49:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像