本节内容:

mysql触发器实例

例1,

复制代码 代码示例:

delimiter //

create trigger InsertUser

before insert on user

for each row

Begin

insert into user_group(uid,gid) values(new.uid,'group4444444444');

end;//

delimiter ;

例2,

复制代码 代码示例:

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 ;

例3,

复制代码 代码示例:

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 ;

mySql触发器实例

在mysql中,使用触发器能进行一些约束。

例子,当Student表的StudentID列被发生更改时,BorrowStudent表的StudentID列也跟着更改.如果Student表删除某记录,BorrowStudent也删除对应StudentID的记录.

复制代码 代码示例:

/*先删除将要创建而存在的表*/

drop table if exists Student;

drop table if exists BorrowStudent;

/*创建表*/

create table Student(

StudentID int not null primary key,

StudentName varchar(30) not null,

StudentSex enum('m','f') default 'm'

)engine=myisam;

create table BorrowStudent(

BorrowRecord int not null auto_increment primary key,

StudentID int not null,

BorrorDate date,

ReturnDate date,

foreign key(StudentID) references Student(StudentID)

)engine=myisam;

/*插入记录*/

insert into Student values(1235412,'java','m');

insert into Student values(3214562,'jiajia','m');

insert into Student values(5441253,'purana','f');

insert into BorrowStudent(StudentID,BorrorDate,ReturnDate)

values(1235412,'2007-01-01','2007-01-07');

insert into BorrowStudent(StudentID,BorrorDate,ReturnDate)

values(3214562,'2007-01-01','2007-01-07');

insert into BorrowStudent(StudentID,BorrorDate,ReturnDate)

values(5441253,'2007-01-01','2007-01-07');

/*创建触发器*/

delimiter $$

drop trigger if exists tduStudent$$

drop trigger if exists tddStudent$$

create trigger tduStudent before update

on Student for each row

begin

if new.StudentID!=old.StudentID then

update BorrowStudent

set BorrowStudent.StudentID=new.StudentID

where BorrowStudent.StudentID=old.StudentID;

end if;

end$$

create trigger tddStudent before delete

on Student for each row

begin

delete

from BorrowStudent

where BorrowStudent.StudentID=old.StudentID;

end$$

delimiter ;

mysql触发器 实例_mysql触发器的三个例子相关推荐

  1. 多字段mysql触发器实例_mysql触发器原理与用法实例分析

    本文实例讲述了mysql触发器原理与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是触发器 创建触发器 单条触发器语句 多条触发器语句 查看触发器 删除触发器 触发器的新旧记录引用 首发日期 ...

  2. mysql触发器弊端_MySQL触发器的作用及弊端

    前言: 触发器只是用在特定的场合,一般情况下,我们还是在代码中处理,因为同一个业务逻辑中,如果代码和sql中都有业务逻辑,那么后期维护将很麻烦,所以要根据实际情况来选择,看是否合适.触发器就是写在数据 ...

  3. 创建mysql代码实例_MySQL筹建系列之多实例_mysql

    mysql搭建系列之多实例 所谓多实例,就是在一台服务器上搭建.运行多个MySQL实例,每个实例使用不同的服务端口,通过不同的socket监听:物理上,每个实例拥有独立的参数配置文件及数据库. 通常情 ...

  4. mysql 事务实例_mysql实现事务的提交和回滚实例

    mysql创建存储过程的官方语法为: 复制代码 代码如下:START TRANSACTION | BEGIN [WORK] COMMIT [WORK] [AND [NO] CHAIN] [[NO] R ...

  5. mysql 多实例 独立配置文件_三、安装配置多实例MYSQL5.6-多独立配置文件方法

    三.安装配置多实例MYSQL5.6-多独立配置文件方法 1.准备工作 检查操作系统版本.内核版本.selinux是否关闭.防火墙策略.IP地址.主机名配置.host表配置.yum配置 上传cmake. ...

  6. systemctl与mysql多实例_mysql mariadb 多版本多实例 开机启动

    ----mysql多实例开机启动及加入服务-------– 将脚本cp到init.d目录 cd /usr/mysqlsoft5.6.38_3346/support-files/ [root@mysql ...

  7. mysql 触发器 实例_mysql的触发器-含案例-含效果 | 时刻需

    今天做下触发器的笔记 原来都是用命令的,现在好多都用工具了. 情景一: after 插入本表一 order 后再修改表二 push 表一: CREATE TABLE `33hao_order` ( ` ...

  8. mysql 触发器 分行_mysql 触发器

    mysql 触发器中有两个insert 语句 第二个inert 要用第一个insert 的结果怎么实现 DELIMITER $$ USE `nightclub`$$ DROP TRIGGER /*!5 ...

  9. mysql触发器 存储过程_mysql触发器和存储过程

    Mysql触发器和存储过程 1 / 9Mysql触发器 1.语法:命名规则 CREATE TRIGGER { BEFORE | AFTER } { INSERT | UPDATE | DELETE } ...

  10. java mysql 触发器 存储过程_mysql 触发器 存储过程 java调用

    触发器和存储过程是为了提高SQL的运行效率. SQL语句先编译.后执行,而触发器与存储过程都会提前预编译完成,且只编译一次,供反复调用. 随着时代的进步,硬件与带宽的提升,触发器和存储过程提升效率并不 ...

最新文章

  1. LVS负载均衡的简单实现
  2. 一个经典面试题:如何保证缓存与数据库的双写一致性?
  3. 多重签名(Multisig)
  4. 4行代码AC——L1-038 新世界 (5分)
  5. 选购维生素C需要注意的事项
  6. django入门与实践 3-1 环境搭建
  7. 使用Docker运行SQL Server
  8. 论文浅尝 | 面向视觉常识推理的层次语义增强方向图网络
  9. 课时40:类与对象:一些相关的BIF
  10. 什么叫python设计模式_什么是Python设计模式
  11. 游戏开发学什么?四步修炼骨灰级高手
  12. 【机房收费系统C#版】——导出Excel
  13. 手机端html本地存储,HTML5 web storage本地存储
  14. db2数据库连接数 linux_linux下db2数据库命令
  15. Java程序调用OpenDDS
  16. C++ 保存txt文本文件
  17. 基于cat12和SPM12进行大脑VBM数据分析笔记2——统计分析
  18. 前端后端的区别(超详细版)
  19. 数据库系统概论-数据库恢复技术
  20. latch mysql_MySQL中的latch(閂鎖)詳解——易產生的問題以及原因分析

热门文章

  1. web逻辑思维题目_经典的逻辑思维训练题
  2. 全国计算机一级模拟软件安装教程
  3. java phpwind_GitHub - phpwind/windframework: Open-source PHP framework
  4. win10运行命令大全
  5. Ubuntu中配置jdk环境变量
  6. 应用于兴发铝业的PARTsolutions ‒智能化的铝型材数据检索与借用
  7. 安卓手机左右声道调节应用下载_闪电全能格式转换器下载_闪电全能格式转换器官方下载[转换工具]...
  8. WebView优化提升H5加载速度方案
  9. 使用计算机软件,计算机使用软件
  10. vb 服务器mysql_VB 连接mysql网络数据库的代码