Mysql触发器详解以及union的使用

---恢复内容开始---

Mysql触发器
定义:
  当一个表中有insert update delete事件发生,触发一个事件,执行一段代码。
作用:
同步数据
创建:
1 create trigger 名称  触发时机 事件 on 表名 for each row
2 begin
3    语句;
4 end//
删除和查看:
1 drop trigger 触发器的名称
2 show create trigger 触发器名称
3 show triggers
案例:
 1 create table newsn(
 2         nid int key auto_increment,
 3         title varchar(50),
 4         pubtime int
 5     )
 6 create table zong(
 7     id int not null,
 8     type tinyint(1),
 9     title varchar(50)
10 )//    
--在 文章表 的insert事件上创建一个触发器:
1 create trigger newsn_insert after insert on newsn for each row
2      begin
3        insert into zong(id,type,title) value(new.nid,1,new.title);
4      end//
--在 文章表 的delete事件上创建一个触发器:
1 create trigger newsn_delete after delete on newsn for each row
2 begin
3    delete from zong where id=old.nid and type=1;
4 end//
--在 文章表 的update事件上创建一个触发器:
1 create trigger newsn_update after update on newsn for each row
2 begin
3    update zong  set title=new.title where id=old.nid and type=1;
4 end//

需求:

  查询文章的标题及产品的标题包含某个关键字的所有记录,根据时间倒序。
1 select * from (select nid as id,1 as type,pubtime from newsn where title like '%宝强%'
2 union
3 select pid as id,2 as type,pubtime from productn where title like '%宝强%') as linshibiao order by pubtime asc//

说明:

  union 用于合并两个或多个select语句的结果集,并消除表中重复行;

  要求两次查询的列数必须一致,如果列名称不同将采用第一张表的列名称。



---恢复内容结束---

转载于:https://www.cnblogs.com/yuanwanli/p/9023683.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值