您的位置:首页 > 数据库 > MySQL

mysql创建触发器

2012-08-29 14:34 435 查看
DROP TABLE IF EXISTS `tab1`;

CREATE TABLE `tab1` (

  `tab1_id` varchar(11) default NULL,

  `name` varchar(45) default NULL,

  `pass` varchar(45) default NULL,

  `tel` varchar(45) default NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

/*!添加表1数据*/;

INSERT INTO `tab1` (`tab1_id`,`name`,`pass`,`tel`) VALUES

 ('tteeyy','test','yyrr','13545789545');

#创建插入表数据触发器

DROP TRIGGER /*!50030 IF EXISTS */ `bbs2`;

DELIMITER $$

CREATE DEFINER = `root`@`localhost` TRIGGER `bbs2` AFTER INSERT ON `tab1` FOR EACH ROW  insert into tab2(tab2_id,name,pass,phone) values(NEW.tab1_id,new.name,new.pass,new.tel) $$

DELIMITER ;

#创建更新表数据触发器

DROP TRIGGER /*!50030 IF EXISTS */ `bbs1`;

DELIMITER $$

CREATE DEFINER = `root`@`localhost` TRIGGER `bbs1` AFTER UPDATE ON `tab1` FOR EACH ROW  update tab2 set tab2_id=NEW.tab1_id,name=new.name,pass=new.pass,phone=new.tel where tab2_id=NEW.tab1_id $$

DELIMITER ;

#创建删除表数据触发器

DROP TRIGGER /*!50030 IF EXISTS */ `bbs3`;

DELIMITER $$

CREATE DEFINER = `root`@`localhost` TRIGGER `bbs3` AFTER DELETE ON `tab1` FOR EACH ROW  delete from  tab2 where tab2_id=old.tab1_id $$

DELIMITER ;

#建表

DROP TABLE IF EXISTS `tab2`;

CREATE TABLE `tab2` (

  `tab2_id` varchar(11) default NULL,

  `name` varchar(45) default NULL,

  `pass` varchar(45) default NULL,

  `phone` varchar(45) default NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

INSERT INTO `tab2` (`tab2_id`,`name`,`pass`,`phone`) VALUES

 ('tteeyy','test','yyrr','13545789545');

 

 

 

--------------------------------------------------------------------------

#修改的触发器

CREATE TRIGGER bbs1 AFTER UPDATE ON tab1 FOR EACH ROW update tab2 set

tab2_id=NEW.tab1_id,name=new.name,pass=new.pass,phone=new.tel where

tab2_id=NEW.tab1_id;

END;

#添加的触发器

CREATE TRIGGER bbs2 AFTER insert ON tab1 FOR EACH ROW insert into tab2

(tab2_id,name,pass,phone) values(NEW.tab1_id,new.name,new.pass,new.tel);

END;

#删除的触发器

CREATE TRIGGER bbs3 AFTER delete ON tab1 FOR EACH ROW delete from  tab2

where tab2_id=old.tab1_id;

END;

#删除触发器

drop trigger 触发器名字

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql bbs insert null delete each