我是靠谱客的博主 听话胡萝卜,最近开发中收集的这篇文章主要介绍触发器的写法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 有点危险 还是不写了

最后

以上就是听话胡萝卜为你收集整理的触发器的写法的全部内容,希望文章能够帮你解决触发器的写法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部