zoukankan      html  css  js  c++  java
  • MySQL之触发器

    概念

    触发器(trigger)是MySQL提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete, update)时就会激活它执行。

     

    创建触发器

      CREATE

      [DEFINER = { user | CURRENT_USER }]

      TRIGGER trigger_name

      trigger_time trigger_event

      ON tbl_name FOR EACH ROW

      trigger_body

      说明:

        trigger_name:触发器的名称

        trigger_time:{ BEFORE | AFTER },表示在事件之前或之后触发

        trigger_event::{ INSERT |UPDATE | DELETE },触发的具体事件

        tbl_name:该触发器作用在表名

    示例

    创建学生表
    CREATE TABLE student_info (
    stu_id INT(11) NOT NULL AUTO_INCREMENT,
    stu_name VARCHAR(255) DEFAULT NULL,
    PRIMARY KEY (stu_id)
    );
    创建学生数表
    CREATE TABLE student_count (
    student_count INT(11) DEFAULT 0
    );
    给学生数表插入默认值0
    INSERT INTO student_count VALUES(0);
    
    创建触发器,在向学生表INSERT数据时,学生数增加,DELETE学生时,学生数减少
    CREATE TRIGGER trigger_student_count_insert
    AFTER INSERT
    ON student_info FOR EACH ROW
    UPDATE student_count SET student_count=student_count+1;
    CREATE TRIGGER trigger_student_count_delete
    AFTER DELETE
    ON student_info FOR EACH ROW
    UPDATE student_count SET student_count=student_count-1;

     

    查看触发器

      SHOW TRIGGERS

      查询系统表information_schema.triggers的方式指定查询条件,查看指定的触发器信息。

      mysql> USE information_schema;

      Database changed

      mysql> SELECT * FROM triggers WHERE trigger_name='trigger_student_count_insert';

    删除触发器

      DROP TRIGGER trigger_name;

     

  • 相关阅读:
    数据缓存/NSURLSession
    NSURLConnection基本使用/多线程断点下载/文件的上传
    HTTP协议/数据安全
    block的概念及基本使用 /block访问外部变量
    NSOperation简单介绍/NSOperation基本操作/自定义NSOperation
    GCD介绍/GCD的基本使用/GCD的常见用法
    NSThread方式创建线程/线程安全/线程间的通信
    面试常见知识点
    新课堂练习题
    线程概述
  • 原文地址:https://www.cnblogs.com/ysuwangqiang/p/11810757.html
Copyright © 2011-2022 走看看