`
Supanccy2013
  • 浏览: 224934 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Mysql trigger 触发器

阅读更多

    今天有空研究了一下触发器。废话少说,开始正题

     关于触发器的名词解释:

      1,trigger 触发器英文名称,表示在向数据库改变数据时自动触发的一段mysql数据库程序,这段程序就成为触发器,

      2,new关键词:表示向数据库改变数据时添加或修改的新数据的引用关键词,如果不明白待会儿实例将会让你明白。

     3,ole关键词:和new刚好相反。

     4,事件以及对应需要用到的关键字

     5,

           insert  事件用 new

           delete  事件用 old

           update 事件用new 和old

    6,查看触发器  show triggers status/G

    7, 删除触发器:drop trigger 触发器名称

 

    实例:功能--向客户表中插入一条数据时自动向客户登陆记录表中插入一条记录数据。

    客户表sql:

         drop table if exists customer;

       mysql> create table customer(

    -> id int primary key auto_increment,

    -> name varchar(6),

    -> password varchar(6))

    -> charset=utf8;

     

    客户登陆记录表sql;

CREATE TABLE `customerloginlog` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `logindate` date DEFAULT NULL,

  `username` varchar(6) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8

 

     创建触发器:当向客户表中插入一条记录时自动向客户登陆表中插入一条记录,该条记录记录登陆的

时间和客户的名称。

      create trigger userloginlog

      after INSERT on customer for each row

      insert into customerloginlog(logindate,username) values(now(),new.name);/*注意new的用法

new的说明:

    因为该出发器是用在向数据库中插入数据时出发的,所以相对于数据库表customer来说是新数据,所欲

要引用新记录中的字段name就要用new.name.

 

  创建触发器:当向客户表中删除一条记录中就在用户注销表中插入一条记录,该条记录记录注销客户的时间和客户的名称。

create trigger userloginoutlog

after DELETE on customer for each row

 

insert into customerloginout(loginoutdate,username) values(now(),old.name);/*注意old的用法

old说明:

   因为该触发器是发生在表中记录删除时出发的,所有相对于表来说,删除的数据就是就数据,所以要引用

删除的数据记录就需要old.name用法。

 

create trigger trigger1 BEFORE insert on customer for each row

begin

    insert into customerloginlog(logindate,username) values(now(),new.name);

 

end

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    mysqltrigger触发器.pdf

    根据提供的文件信息,本文将重点解析 MySQL 5.0 版本中新引入的触发器功能,并结合描述中的信息深入探讨其特性和应用场景。 ### MySQL 5.0 触发器 #### 引言 MySQL 5.0 版本是一个重要的里程碑,因为它引入了许多...

    mysql中触发器使用详解.docx

    MySQL中的触发器是一种数据库对象,它与特定的表相关联,并在对表执行INSERT、UPDATE或DELETE操作之前或之后自动执行预定义的SQL语句。触发器的主要作用是增强数据库的逻辑控制,确保数据完整性、记录操作日志以及...

    MySQL 5.0 触发器.rar

    在MySQL 5.0中,可以使用`CREATE TRIGGER`语句来定义触发器。例如: ```sql CREATE TRIGGER trg_after_insert AFTER INSERT ON employees FOR EACH ROW BEGIN -- 触发器体,这里可以是多个SQL语句 INSERT INTO ...

    mysql触发器之触发器的增删改查操作示例

    值得注意的是,删除触发器后,如果需要修改触发器的行为,需要重新创建一个新的触发器,因为MySQL不支持`ALTER TRIGGER`语句。这意味着任何对触发器的更新都需要完全替换现有定义。 MySQL触发器在实际应用中扮演着...

    实验九MySQL的触发器.pdf

    实验九的目的是让学生掌握MySQL中的触发器,这是一种在特定数据库事件发生时自动执行的代码块。触发器不同于存储过程,因为它不是由用户或应用程序直接调用,而是由数据库管理系统(DBMS)在满足预设条件时自动触发...

    MySQL触发器.pdf

    在MySQL中,创建触发器需要具有`TRIGGER`权限。此外,对于特定的表执行触发器操作还需要具备相应的表权限。 #### 使用OLD和NEW引用列值 在触发器内部,可以通过两个特殊的变量`OLD`和`NEW`来访问被修改的行的旧值...

    mysql触发器实例

    内含mysql的trigger触发器实例,修改即可使用。。。。。。

    [数据库] Navicat for MySQL触发器更新和插入操作1

    在MySQL中,触发器(Trigger)是一种强大的功能,用于在特定的数据操作(如INSERT、UPDATE、DELETE)发生时自动执行预定义的SQL语句,以此来维护数据的完整性和一致性。触发器可以看作是数据库的自动反应机制,无需...

    mysql设置触发器权限问题的解决方法.pdf

    在 MySQL 中,触发器(Trigger)是一种特殊的存储过程,用于自动执行某些操作以维护数据的一致性和完整性。然而,在设置触发器时,用户可能会遇到权限问题,导致无法创建或修改触发器。本文将详细介绍 MySQL 设置...

    数据库原理及应用MySQL-触发器部分的知识点整理

    1. **概念**:触发器(Trigger)是MySQL提供的一种数据库对象,它在满足特定条件(如数据修改)时自动执行,以确保业务规则得到遵循。 2. **特点**:触发器的执行不依赖于程序调用,而是由数据库事件触发,如对表的...

    MySQL触发器、存储过程、自定义函数、视图示例

    ### MySQL触发器、存储过程、自定义函数、视图示例 #### 一、MySQL触发器 触发器是一种特殊类型的存储过程,它被设计为在特定事件(如INSERT、UPDATE或DELETE操作)发生时自动执行。触发器可以用来强制业务规则、...

    mysql的触发器教程和示例代码

    MySQL的触发器是一种数据库对象,它允许在特定的数据库操作(如INSERT、UPDATE或DELETE)发生之前或之后执行预定义的SQL语句。这为数据库管理员和开发人员提供了一种方式来实现复杂的业务规则和数据一致性,而无需在...

    mysql触发器文档

    ### MySQL触发器知识点详解 #### 引言 MySQL触发器是一种服务器端的程序,它可以响应特定的数据库事件(如插入、更新或删除记录)而自动执行。触发器自MySQL 5.0版本起被引入,这标志着MySQL在功能性上的一大进步,...

    mysql触发器之创建使用触发器简单示例

    本文实例讲述了mysql触发器之创建使用触发器。分享给大家供大家参考,具体如下: 我们可以可以使用CREATE TRIGGER语句创建一个新的触发器,来看下具体的语法: CREATE TRIGGER trigger_name trigger_time trigger_...

    mysql触发器使用

    在深入探讨MySQL触发器的使用之前,我们先来理解一下什么是触发器以及它在数据库管理中的作用。触发器是数据库中一种特殊的存储过程,当特定的事件(如INSERT、UPDATE或DELETE操作)在指定的表上发生时自动执行。...

    Mysql触发器介绍

    ### MySQL触发器详解 #### 一、引言 MySQL 的触发器与存储过程类似,都是内嵌于数据库的一种编程机制。触发器的概念最早出现在 MySQL 5.0 版本中,这一特性使得开发者能够编写自动化的数据库操作逻辑,用于响应...

    mysql数据库触发器相关.pptx

    mysql数据库触发器相关触发器(TRIGGER)是MySQL的数据库对象之一,是一种特殊类型的存储过程,从5.0版本开始支持。该对象与编程语言中的函数非常类似,都需要声明、执行等。但是触发器的执行不是由程序call调用,...

    mysql触发器教程

    一般来说,需要拥有表的`TRIGGER`权限才能创建触发器。此外,还需要注意的是,触发器在执行过程中可能会涉及对其他表的操作,因此可能还需要其他表的相关权限。 #### 五、引用`OLD`和`NEW`列 在触发器的定义中,...

Global site tag (gtag.js) - Google Analytics