MySQL 触发器结构及三个案例demo

news/2024/7/17 7:47:03 标签: 数据库

--你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。

CREATE TRIGGER语法

CREATE TRIGGER trigger_name trigger_time trigger_event
   ON tbl_name FOR EACH ROW trigger_stmt

触发程序与命名为tbl_name的表相关。

trigger_time是触发程序的动作时间。它可以是BEFORE或AFTER,以指明触发程序是在激活它的语句之前或之后触发。

trigger_event指明了激活触发程序的语句的类型。trigger_event可以是下述值之一:

·         INSERT:将新行插入表时激活触发程序

·         UPDATE:更改某一行时激活触发程序

·         DELETE:从表中删除某一行时激活触发程序

trigger_stmt是当触发程序激活时执行的语句。如果你打算执行多个语句,可使用BEGIN 
... END复合语句结构。

mysql触发器是mysql数据库的重要概念,下面为您介绍三个mysql触发器的例子,供您参考,希望对您学习mysql触发器方面能有所帮助。

示例一  
delimiter //    
create trigger InsertUser    
before insert on user   
for each row    
Begin   
insert into user_group(uid,gid) values(new.uid,'group4444444444');    
end;//    
delimiter ;    
 
示例二    
delimiter //    
create trigger InsertUser    
before insert on user   
for each row    
Begin   
IF new.Type=2 then   
insert into user_group(uid,gid) values(new.uid,'group4444444444');    
else   
insert into user_group(uid,gid) values(new.uid,'group55555555555')    
END IF;    
end;//    
delimiter ;    
 
示例三:    
delimiter //    
create trigger InsertUser    
before insert on user   
for each row    
Begin   
IF new.type=1 then   
insert into user_group(uid,gid) values(new.uid,'578d3369633b47bd9c1fe8bf905cbfb1');    
END IF;    
IF new.type=2 then   
 insert into user_group(uid,gid) values(new.uid,'387bcd57fc5a4c3c9de83ee210fef661');    
END IF;    
end;//    
delimiter ;   

 




转载于:https://www.cnblogs.com/chen-lhx/p/5600164.html


http://www.niftyadmin.cn/n/1178028.html

相关文章

设置UIScrollView只可以水平或者竖直滚动

UIScrollView里边包含多个UIWebView: 可以通过设置contentSize的值,设置其width为UIScrollerView可视区域的宽度:即UIScrollView的width,在设置一些alwaysBounceHorizontal之类的属性,那么就只能竖直方向滚动&#xff…

Windows 08R2_AD图文详解

目录 目录软件环境Active Directory域服务 AD的应用创建ADDS域使用Windows窗口来创建ADDS域控制器使用Powershell来创建ADDS域控制器检查ADDC域控制器是否安装成功添加新的管理工具 创建额外域控制器使用Windows窗口界面来安装额外域控制器使用Powershell脚本来安装额外域控制器…

Char 07 扩展命令

Desc : 扩展 并 添加 插件 或者 添加 模块 转载于:https://www.cnblogs.com/Nancy0401/p/5600200.html

linux命令在哪里使用,如何知道你在Linux里最常使用哪几个命令?

不知道大家自接触 Linux 以来,都使用过哪些命令,其中最常用的命令是什么?我最常用的命令之一是 sudo ,因为我每天都在使用它在 Linux 上安装、更新、删除软件包以及其它各种需要超级用户权限的操作。那么你知道你自己最经常使用的是哪几个命…

Emacs 配置文件

以下是我整理的 emacs 配置文件,供刚开始玩 emacs 的同学参考。网上有人说:emacs 是神的编辑器,如果能够用到这样的编辑器,那这个人就是神了。从我个人的经验来看,emacs 是一把利器,用好它,将会…

通过c程序更改文件的ctime和mtime

通过c程序更改文件的ctime和mtime与某个文件相同 源文件words.txt [rootbogon ~]# ll words.txt ;ll words.txt -u -rw-r--r-- 1 root root 740 7月 14 2007 words.txt -rw-r--r-- 1 root root 740 6月 12 09:33 words.txt 新建测试文件text.txt [rootbogon ~]# touch text.t…

在Android Studio中使用shareSDK进行社会化分享(图文教程)

【前言】 如今的app当中,几乎都包含了社会化分享的功能,来两张图see 一 see: 好在这种分享功能已经有第三方平台帮我们做好了,我们直接调用其SDK即可。市面上做社会化分享平台的比较好平台的有:mob等。 今天我们就用mo…

页游服务器压力测试方案

目的: 为保证单个服务器的在线玩家数量,在项目的初期,应该通过压力测试来预测在线玩家的上限! 工程说明: 我们本着实验主义,认为一切理论皆是假设,而实践实验是检验真理的唯一标准!页…