触发器的写法

mysql 触发器的写法

老实说 不推荐使用触发器,虽然他的速度比代码快,但是数量一旦多了,使用者一旦不交接清楚,后续升级容易出问题,比如还原数据没还原触发器等其他过程,数据就出问题了,还不好查出来
不过不用容易忘记,这里我就当几个笔记

  1. a表pd1s
DROP TABLE IF EXISTS `web_pd1s`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `web_pd1s` (
  `PD1S_ID` varchar(100) NOT NULL,
  `TITLE` varchar(200) DEFAULT NULL COMMENT '标题',
  `CTIME` varchar(32) DEFAULT NULL COMMENT '时间',
  `STEMFROM` varchar(100) DEFAULT NULL COMMENT '来源',
  `IMAGE` varchar(1000) DEFAULT NULL COMMENT '图片',
  `SHORTCONTENT` varchar(5000) DEFAULT NULL COMMENT '简述',
  `CONTENT` longtext COMMENT '内容',
  `HIDE` varchar(5) DEFAULT NULL COMMENT '隐藏',
  `WEIGHT` int(11) NOT NULL COMMENT '权重',
  PRIMARY KEY (`PD1S_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
  1. b表mpds
DROP TABLE IF EXISTS `web_mpds`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `web_mpds` (
 `MPDS_ID` varchar(100) NOT NULL,
 `TITLE` varchar(200) DEFAULT NULL COMMENT '标题',
 `CTIME` varchar(32) DEFAULT NULL COMMENT '时间',
 `STEMFROM` varchar(100) DEFAULT NULL COMMENT '来源',
 `IMAGE` varchar(1000) DEFAULT NULL COMMENT '图片',
 `SHORTCONTENT` varchar(5000) DEFAULT NULL COMMENT '简述',
 `CONTENT` longtext COMMENT '内容',
 `HIDE` varchar(5) DEFAULT NULL COMMENT '隐藏',
 `WEIGHT` int(11) NOT NULL COMMENT '权重',
 PRIMARY KEY (`MPDS_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

新增触发器

delimiter || 

DROP TRIGGER IF EXISTS pd1_afterinsert_on_mpd||

CREATE TRIGGER pd1_afterinsert_on_mpd 

AFTER INSERT ON web_pd1s

FOR EACH ROW

BEGIN

     insert into 
     web_mpds(MPDS_ID,TITLE,CTIME,STEMFROM,IMAGE,SHORTCONTENT,CONTENT,HIDE,WEIGHT) 

    values(new.PD1S_ID,new.TITLE,new.CTIME,new.STEMFROM,new.IMAGE,new.SHORTCONTENT,new.CONTENT,new.HIDE,new.WEIGHT);

END||

update

DELIMITER $$-- 声明结束符

DROP TRIGGER IF EXISTS pd1_afterupdate_on_mpd$$

CREATE TRIGGER pd1_afterupdate_on_mpd

AFTER UPDATE ON web_pd1s

FOR EACH ROW

BEGIN

UPDATE web_mpds SET MPDS_ID =new.PD1S_ID,TITLE=new.TITLE,CTIME=new.CTIME,STEMFROM=new.STEMFROM,IMAGE=new.IMAGE,SHORTCONTENT=new.SHORTCONTENT,CONTENT=new.CONTENT,HIDE=new.HIDE,WEIGHT=new.WEIGHT

WHERE MPDS_ID=new.PD1S_ID;

END$$

drop 有点危险 还是不写了

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值