最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL触发器简单用法示例

来源:动视网 责编:小采 时间:2020-11-09 20:27:38
文档

MySQL触发器简单用法示例

MySQL触发器简单用法示例:本文实例讲述了MySQL触发器简单用法。分享给大家供大家参考,具体如下: mysql触发器和存储过程一样,是嵌入到mysql的一段程序,触发器是由事件来触发的,这些事件包括,INSERT,UPDATE,DELETE,不包括SELECT 创建触发器 CREATE TRIGGER
推荐度:
导读MySQL触发器简单用法示例:本文实例讲述了MySQL触发器简单用法。分享给大家供大家参考,具体如下: mysql触发器和存储过程一样,是嵌入到mysql的一段程序,触发器是由事件来触发的,这些事件包括,INSERT,UPDATE,DELETE,不包括SELECT 创建触发器 CREATE TRIGGER


本文实例讲述了MySQL触发器简单用法。分享给大家供大家参考,具体如下:

mysql触发器和存储过程一样,是嵌入到mysql的一段程序,触发器是由事件来触发的,这些事件包括,INSERT,UPDATE,DELETE,不包括SELECT

创建触发器

CREATE TRIGGER name,time,event ON table_name FOR EACH ROW trigger_stmt

例如
代码如下:CREATE TRIGGER ins_sum BEFORE INSERT ON account FOR EACH ROW SET @sum = @sum + NEW.amount

有多个执行语句的触发器

CREATE TABLE test1(a1 INT);
CREATE TABLE test2(a2 INT);
CREATE TABLE test3(a3 INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
CREATE TABLE test4(
 a4 INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
 b4 INT DEFAULT 0
);
DELIMITER //
CREATE TRIGGER testref BEFORE INSERT ON test1
 FOR EACH ROW BEGIN
 INSERT INTO test2 SET a2 = NEW.a1;
 DELETE FROM test3 where a3 = NEW.a1;
 UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
 END
 //
DELIMITER ;
INSERT INTO test3(a3) VALUES (NULL), (NULL), (NULL), (NULL), (NULL), (NULL),(NULL), (NULL), (NULL), (NULL), (NULL), (NULL);
INSERT INTO test4(a4) VALUES (0), (0), (0), (0), (0), (0), (0), (0), (0), (0);
//开始测试
INSERT INTO test1 VALUES (1), (3), (1), (7), (1), (8), (4), (4);

查看触发器

SHOW TRIGGERS \G; //查看所有
SELECT * FROM information_schema.TRIGGERS where TRIGGER_NAME = 'testref';

删除触发器

DROP TRIGGER testref;

综合案例

步骤1:创建persons表

CREATE TABLE persons (name VARCHAR(40), num int);

步骤2:创建一个销售额表sales

CREATE TABLE sales (name VARCHAR(40), sum int);

步骤3:创建一个触发器

CREATE TRIGGER num_sum AFTER INSERT ON persons
FOR EACH ROW INSERT INTO sales VALUES (NEW.name,7*NEW.num);

步骤4:向persons表中插入记录

INSERT INTO persons VALUES ('xiaoxiao',20),('xiaohua',69);
SELECT * FROM persons;
SELECT *FROM sales;

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》

希望本文所述对大家MySQL数据库计有所帮助。

您可能感兴趣的文章:

  • MySQL触发器使用详解
  • mysql 触发器实现两个表的数据同步
  • MYSQL设置触发器权限问题的解决方法
  • Mysql中的触发器简单介绍及使用案例
  • 如何测试mysql触发器和存储过程
  • 用mysql触发器自动更新memcache的实现代码
  • MySQL 5.0触发器参考教程
  • MySQL触发器学习总结
  • MySQL触发器运用于迁移和同步数据的实例教程
  • 基于mysql事务、视图、存储过程、触发器的应用分析
  • MySQL触发器 Update触发Insert失败
  • 文档

    MySQL触发器简单用法示例

    MySQL触发器简单用法示例:本文实例讲述了MySQL触发器简单用法。分享给大家供大家参考,具体如下: mysql触发器和存储过程一样,是嵌入到mysql的一段程序,触发器是由事件来触发的,这些事件包括,INSERT,UPDATE,DELETE,不包括SELECT 创建触发器 CREATE TRIGGER
    推荐度:
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top