mysql 触发器 trigger用法 one (简单的)

实例~~

example1:

创建表tab1


1

2

3

4

DROP TABLE IF EXISTS tab1;

CREATE TABLE tab1(

    tab1_id varchar(11)

);

创建表tab2


1

2

3

4

DROP TABLE IF EXISTS tab2;

CREATE TABLE tab2(

    tab2_id varchar(11)

);

创建触发器:t_afterinsert_on_tab1

作用:增加tab1表记录后自动将记录增加到tab2表中


1

2

3

4

5

6

7

DROP TRIGGER IF EXISTS t_afterinsert_on_tab1;

CREATE TRIGGER t_afterinsert_on_tab1

AFTER INSERT ON tab1

FOR EACH ROW

BEGIN

     insert into tab2(tab2_id) values(new.tab1_id);

END;

测试一下


1

INSERT INTO tab1(tab1_id) values(‘0001‘);

看看结果


1

2

SELECT * FROM tab1;

SELECT * FROM tab2;

example2:

创建触发器:t_afterdelete_on_tab1

作用:删除tab1表记录后自动将tab2表中对应的记录删去


1

2

3

4

5

6

7

DROP TRIGGER IF EXISTS t_afterdelete_on_tab1;

CREATE TRIGGER t_afterdelete_on_tab1

AFTER DELETE ON tab1

FOR EACH ROW

BEGIN

      delete from tab2 where tab2_id=old.tab1_id;

END;

测试一下


1

DELETE FROM tab1 WHERE tab1_id=‘0001‘;

时间: 2024-10-02 21:30:27

mysql 触发器 trigger用法 one (简单的)的相关文章

mysql 触发器 trigger用法 two (稍微复杂的)

触发器(trigger):监视某种情况,并触发某种操作. 触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete) 语法: create trigger triggerName after/before insert/update/delete on 表名 for each row   #这句话在mysql是固定的 begin sql语句; end

mysql 触发器 trigger用法 three (稍微复杂的)

MySQL包含对触发器的支持.触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行. 创建触发器 在MySQL中,创建触发器语法如下: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt 其中: trigger_name:标识触发器名称,用户自行指定:trigger_time:标识触发时机,取值为

MySQL触发器trigger的使用

Q:什么是触发器? A: 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合. 触发器的特性: 1.有begin end体,begin end;之间的语句可以写的简单或者复杂 2.什么条件会触发:I.D.U 3.什么时候触发:在增删改前或者后 4.触发频率:针对每一行执行 5.触发器定义在表上,附着在表上. 也就是由事件来触发某个操作,事件包括INSERT语句,UPDATE语句和DELETE语句:可以协助应用在数据库端确保数据的完整性. 注意:cannot asso

MySQL触发器trigger

触发器(trigger):监视某种情况,并触发某种操作,触发器必须有名字,最多64个字符,可能后面会附有分隔符. 它和MySQL中其他对象的命名方式基本相象 触发器创建语法四要素:1.监视地点(table) 2.监视事件DML 3.触发时间(after/before) 4.触发事件DML { BEFORE | AFTER }  --触发器有执行的时间设置:可以设置为事件发生前或后. { INSERT | UPDATE | DELETE }  --同样也能设定触发的事件:它们可以在执行insert

MySQL 触发器trigger

一.触发器概念 触发器(trigger):监视某种情况,并触发某种操作. 触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete) 语法: create trigger triggerName after/before insert/update/delete on 表名 for each row   #这句话在mysql是固定的 begin sq

mysql触发器trigger 实例详解

MySQL好像从5.0.2版本就开始支持触发器的功能了,本次博客就来介绍一下触发器,首先还是谈下概念性的东西吧: 什么是触发器 触发器是与表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合.触发器的这种特性可以协助应用在数据库端确保数据的完整性. 举个例子,比如你现在有两个表[用户表]和[日志表],当一个用户被创建的时候,就需要在日志表中插入创建的log日志,如果在不使用触发器的情况下,你需要编写程序语言逻辑才能实现,但是如果你定义了一个触发器,触发器的作用就是当你在用户表中

MySQL触发器 trigger学习

触发器:一类特殊的事物.可监视某种数据操作,并触发相关操作(insert/update/delete).表中的某些数据改变,希望同一时候能够引起其他相关数据改变的需求. 作用:变化自己主动完毕某些语句查询,加入程序的灵活性. 创建触发器语法: #delimiter $$  //默认情况下.delimiter是分号";",sql语句带有;号结尾会报错,没到end就算到结束了,使用delimiter $$作用就是告诉mysql语句的结尾换成以$结束,对应使用end$$结束 create t

mysql触发器(trigger)

一,触发器的优点 1,触发器的"自动性"对程序员来说,触发器是看不到的,但是他的确做事情了,如果不用触发器的话,你更新了user表的name字段时,你还要写代码去更新其他表里面的冗余字段,我举例子,只是一张表,如果是几张表都有冗余字段呢,你的代码是不是要写很多呢,看上去是不是很不爽呢.2,触发器的数据完整性触发器有回滚性,举个例子,我发现我很喜欢举子,就是你要更新五张表的数据,不会出现更新了二个张表,而另外三张表没有更新.但是如果是用php代码去写的话,就有可能出现这种情况的,比如你更

mysql触发器(Trigger)简明总结和使用实例

一,什么触发器 1,个人理解触发器,从字面来理解,一触即发的一个器,简称触发器(哈哈,个人理解),举个例子吧,好比天黑了,你开灯了,你看到东西了.你放炮仗,点燃了,一会就炸了.2,官方定义触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行.触发器经常用于加强数据的完整性约束和业务规则等. 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数