Mysql学习mysql触发器实例一则

Mysql学习mysql触发器实例一则,第1张

概述介绍《Mysql学习mysql触发器实例一则》开发教程,希望对您有用。

《MysqL学习MysqL触发器实例一则》要点:
本文介绍了MysqL学习MysqL触发器实例一则,希望对您有用。如果有疑问,可以联系我们。

导读:例子,实例学习MysqL触发器的用法.一,准备二张测试表:1,测试表1DROP table IF EXISTS test; CREATE table test ( ID bigin...

例子,实例学习MysqL触发器的用法.MysqL应用

一,准备二张测试表:
1,测试表1
 MysqL应用

DROP table IF EXISTS test;                
CREATE table test (
  ID           bigint(11) unsigned NOT NulL auto_INCREMENT,
  name         varchar(100) NOT NulL DEFAulT '',
  type         varchar(100),
  create_time  datetime,
  PRIMARY KEY (ID)
) ENGINE=InnoDB auto_INCREMENT=1 DEFAulT CHARSET=utf8;
 

2,测试表2
 MysqL应用

DROP table IF EXISTS test_hisy;                
CREATE table test_hisy (
  ID           bigint(11) unsigned NOT NulL auto_INCREMENT,
  operation    varchar(100) COMMENT ' *** 作类型',
  PRIMARY KEY (ID)
) ENGINE=InnoDB auto_INCREMENT=1 DEFAulT CHARSET=utf8;

二,MysqL触发器实例
1,insert触发器
表test新增记录后,将type值为“1”的记录同时插入到test_hisy表中(AFTER INSERT:录入后触发,BEFORE INSERT:录入前触发)
 MysqL应用

DEliMITER //
DROP TRIGGER IF EXISTS t_after_insert_test//
CREATE TRIGGER t_after_insert_test
AFTER INSERT ON test
FOR EACH ROW
BEGIN
    IF new.type='1' THEN
    insert into test_hisy(name,type,create_time,operation)
    values(new.name,new.type,new.create_time,'insert');
    END IF;
END;//

2,update触发器
表test修改时,若type值为“2”则将修改前的记录同时插入到test_hisy表中(AFTER UPDATE:修改后触发,BEFORE UPDATE:修改前触发)
 MysqL应用

DEliMITER //
DROP TRIGGER IF EXISTS t_before_update_test//
CREATE TRIGGER t_before_update_test
BEFORE UPDATE ON test
FOR EACH ROW
BEGIN
    IF new.type='2' THEN
    insert into test_hisy(name,operation)
    values(old.name,old.type,old.create_time,'update');
    END IF;
END;//

3,delete触发器
表test删除记录前,将删除的记录录入到表test_hisy中(AFTER DELETE:删除后触发,BEFORE DELETE:删除前触发)
 MysqL应用

DEliMITER //
DROP TRIGGER IF EXISTS t_before_delete_test//
CREATE TRIGGER t_before_delete_test
BEFORE DELETE ON test
FOR EACH ROW
BEGIN
    insert into test_hisy(name,'delete');
END;//

备注:以上触发器例子中出现的new为修改后的数据,old为修改前的数据.MysqL应用

总结

以上是内存溢出为你收集整理的Mysql学习mysql触发器实例一则全部内容,希望文章能够帮你解决Mysql学习mysql触发器实例一则所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1158419.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存