当前位置: 首页 > news >正文

阳曲网站建设推荐咨询超级外链推广

阳曲网站建设推荐咨询,超级外链推广,湖南网站推广,企业为什么要建网站目录 一、基本概述二、语法结构三、基本使用3.1 新增的触发器3.2 修改的触发器3.3 删除的触发器 一、基本概述 触发器是与表有关的数据对象,在INSERT/UPDATE/DELETE之前或者是之后,触发并执行触发器中定义的SQL语句的集合,触发器的这种特性可…

目录

    • 一、基本概述
    • 二、语法结构
    • 三、基本使用
      • 3.1 新增的触发器
      • 3.2 修改的触发器
      • 3.3 删除的触发器


一、基本概述

触发器是与表有关的数据对象,在INSERT/UPDATE/DELETE之前或者是之后,触发并执行触发器中定义的SQL语句的集合,触发器的这种特性可以在协助应用在数据库端确保数据的完整性,日志记录,数据校验等操纵。
使用别名OLD和NEW来引用触发器中发生变化的记录内容,现在的触发器只支持行级触发,不支持语句触发

  • 行级触发:每关联一行数据都会触发。
  • 语句触发:在执行这条语句时只触发一次。

二、语法结构

创建触发器

CREATE TRIGGER trigger_name
BEFORE/AFTER INSERT/UPDATE/DELETE
ON table_name FOR EACH ROW --- 行级触发器
BEGIN...
END;

查看触发器

SHOW TRIGGERS;

删除触发器

DROP TRIGGER 数据库名.触发器名

三、基本使用

通过触发器记录用户表的变动

创建用户表

CREATE TABLE `tb_user`  (`id` int NOT NULL AUTO_INCREMENT,`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`age` int NULL DEFAULT NULL,`sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,`score` decimal(10, 2) NULL DEFAULT NULL,`rq` date NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;

创建用户日志表

CREATE TABLE `user_log`  (`id` int NOT NULL AUTO_INCREMENT,`operation` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作类型 insert/update/delete',`operation_time` datetime NOT NULL COMMENT '操作时间',`operation_id` int NOT NULL COMMENT '操作ID',`operation_params` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作参数',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

3.1 新增的触发器

编写触发器

CREATE TRIGGER tb_user_insert_trigger AFTER INSERT ON tb_user FOR EACH ROW
BEGININSERT INTO user_log(operation, operation_time, operation_id, operation_params) VALUES ('insert', NOW(), new.id, CONCAT('插入的数据内容为id=', new.id, 'name=', new.name, 'age=',new.age,'sex=',new.sex,'score=',new.score,'rq=',new.rq));
END;

向用户表中插入数据,查看是否已经插入日志数据

INSERT INTO tb_user(name, age, sex, score, rq) VALUES ('测试触发器', 100, 1, 999999, NOW());

3.2 修改的触发器

编写触发器

CREATE TRIGGER tb_user_update_trigger AFTER UPDATE ON tb_user FOR EACH ROW
BEGININSERT INTO user_log(operation, operation_time, operation_id, operation_params) VALUES ('update', NOW(), new.id, CONCAT('更新之前的数据为id=', old.id, 'name=', old.name, 'age=',old.age,'sex=',old.sex,'score=',old.score,'rq=',old.rq,'更新之后的数据为id=', new.id, 'name=', new.name, 'age=',new.age,'sex=',new.sex,'score=',new.score,'rq=',new.rq));
END;

修改用户数据,查看是否已经插入日志数据

UPDATE tb_user SET age=2000 WHERE id=7;

3.3 删除的触发器

编写触发器

CREATE TRIGGER tb_user_delete_trigger AFTER DELETE ON tb_user FOR EACH ROW
BEGININSERT INTO user_log(operation, operation_time, operation_id, operation_params) VALUES ('delete', NOW(), new.id, CONCAT('删除之前的数据内容为id=', old.id, 'name=', old.name, 'age=',old.age,'sex=',old.sex,'score=',old.score,'rq=',old.rq));
END;

删除用户数据,查看是否已经插入日志数据

DELETE FROM tb_user WHERE id='7';
http://www.tj-hxxt.cn/news/42496.html

相关文章:

  • 网站表格怎么做的seo网站关键词优化排名
  • 汨罗哪里有网站开发的公司电话培训机构退费纠纷一般怎么解决
  • 有源码就可以自己做H5网站吗广告投放的方式有哪些
  • 网站建设与运营的市场百度网页版电脑版入口
  • 手机微网站二级菜单怎么做百度直播
  • 网站建设方案平台湘潭网站设计外包公司
  • 江苏网站建设方案昆明seo排名外包
  • 网站短时间怎么做权重精准的搜索引擎优化
  • 大型网站开发项目合同网络营销策略的内容
  • 推广方式是什么意思windows10优化大师
  • phpcms模板行业网站网站设计公司北京
  • 怎么创建企业网站seo推广网站
  • 软件商城免费下载app长沙建站seo公司
  • 国外做软件界面的设计网站青岛seo网站关键词优化
  • 做国际网站的流程企业宣传标语
  • 电子商务企业网站的基本功能精准粉丝引流推广
  • 建设网站需要什么知识百度推广计划
  • 重庆颐众达网站广告软文范例大全100字
  • 汇云网站建设长沙关键词快速排名
  • 西宁做网站建设公司哪家好教育培训机构平台
  • 全包胶衣网站鞋子软文推广300字
  • 赣州企业网站建设百度收录查询工具
  • 辅助网站怎么做全网营销系统怎么样
  • tp5如何在自己网站后台做pv uv统计云南网站建设公司哪家好
  • 网站设计建好的产品怎么推广语言
  • 中国体育新闻最新消息宁波seo推广方式排名
  • 余姚做企业网站市场营销八大营销模式
  • 泰兴网站建设百度人工电话
  • 昆明中小企业网站建设seo自学网站
  • 电商运营网站设计百度平台订单查询