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

改行做网站wordpress 商务主题

改行做网站,wordpress 商务主题,wordpress主题 博客,wordpress播客主题1.概念 触发器是一个特殊的存储过程,当触发器保护的数据发生变更时就会触发。 2.特性 1.触发器与表息息相关,一般我们一个表创建六个触发器。 2.六个触发器其实是三种类六个 insert 类型 before | after insertupdate 类型 before | af…

1.概念

触发器是一个特殊的存储过程,当触发器保护的数据发生变更时就会触发。

2.特性


1.触发器与表息息相关,一般我们一个表创建六个触发器。

2.六个触发器其实是三种类六个

insert     类型 

  before | after    insert
update   类型   before | after    update
delete    类型   before | after    delete

   当我们进行这三个操作时,启动触发器。

3.触发器写法

CREATE TRIGGER trigger_name trigger_time trigger_eventON table_nameFOR EACH ROWBEGIN...END; 

4.创建触发器(实例,代码可操作)

创建一个学生表和学生详情表

-- 创建数据库
CREATE DATABASE IF NOT EXISTS Test;-- 使用数据库
USE Test;-- 创建表
CREATE TABLE IF NOT EXISTS student (id INT PRIMARY KEY,name VARCHAR(255),age INT
);
-- info详细表
CREATE TABLE stu_detail (id INT PRIMARY KEY,stu_id INT,name VARCHAR(50),age INT,address VARCHAR(100),phone VARCHAR(20)
);-- 向student表中插入多条记录
INSERT INTO student (id, name, age)
VALUES (1, 'John', 25),(2, 'Jane', 28),(3, 'Mike', 30),(4, 'Sarah', 22);-- 向student表中插入多条记录
INSERT INTO stu_detail (id, stu_id, name, age, address, phone)
VALUES (1, 1, 'John', 25, '123 Main St', '123-456-7890');INSERT INTO stu_detail (id, stu_id, name, age, address, phone)
VALUES (2, 2, 'Jane', 28, '456 Elm St', '987-654-3210');INSERT INTO stu_detail (id, stu_id, name, age, address, phone)
VALUES (3, 3, 'Mike', 30, '789 Oak St', '555-123-4567');INSERT INTO stu_detail (id, stu_id, name, age, address, phone)
VALUES (4, 4, 'Sarah', 22, '789 Oak St', '555-123-4567');

创建BEFORE INSERT触发器

该触发器作用为:插入student表时,先检查id是否存在,假如存在的话就回滚操作,并给出异常提醒,不存在才可以插入

DELIMITER //
CREATE TRIGGER before_insert_Student
BEFORE INSERT ON student
FOR EACH ROW
BEGINDECLARE idExists INT;SET idExists = (SELECT COUNT(*) FROM student WHERE id = NEW.id);IF idExists > 0 THENSIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '插入ID已经存在,不允许插入';END IF;
END//
DELIMITER ;

 测试触发器 

id冲突

 id不冲突

 创建AFTER UPDATE触发器

改触发器功能为:

 after update 触发器,当student数据update时,stu_detail表中对应id的记录也随之变更

-- update 触发器
CREATE TRIGGER after_update_student
AFTER UPDATE ON student
FOR EACH ROW
BEGINUPDATE stu_detailSET name = NEW.name, age = NEW.ageWHERE id = NEW.id;
END;

测试触发器

更改成功

 

查看detail表是否自动变更(可发现成功更改)

 创建 AFTER DELETE触发器

CREATE TRIGGER after_delete_student
AFTER DELETE ON student
FOR EACH ROW
BEGINDELETE FROM stu_detail WHERE id = OLD.id;
END;

最后一个我就不测试了,交给大家去检测一下。

5.名词解释 

BEFORE : 代表的意识是在我们的操作(insert,update,delete) 之前就执行触发器

AFTER : 代表的意识是在我们的操作(insert,update,delete)    之后才执行触发器

NEW: 对于insert来说,是将要或者已经新增的数据条

             对于update来说,是将要或者已经修改的数据条

             delete则没有NEW

OLD:     对于delete来说,是将要或者已经删除的数据条

             对于update来说,是修改前的数据条

             insert则没有OLD

NEW和OLD需要大家想一想就知道是啥意思了。

 

http://www.yayakq.cn/news/716844/

相关文章:

  • 创业 做网站河南建造师网官网
  • 网站负责人不是法人装修设计师之家官网
  • 手机管理网站模板下载安装网站制作咨询
  • 如何建设网站兴田德润实惠建材公司网站建设案例
  • 女性门户资讯类网站织梦dedecms模板用wordpress做的博客
  • 崇明网站开发房屋产权地址备案在那个网站做
  • 平原县建设局网站网站开发服务合同模板
  • 有没有专门做字体排版设的网站做酒的网站
  • 个人做外贸网站wordpress 显示错误500
  • 哪里有网站建设工程网页制作哪里便宜
  • 网站备案网站简介采购与招标网
  • 课程网页界面设计seo网站模版
  • 营销网站建设公司效果品质好坏质量
  • 如何创建私人网站网页布局设计的一般步骤
  • 微网站地图定位娱乐平台网站开发免费
  • 商务网站建设作业wordpress 淡入特效
  • 天河网站建设优化室内设计培训网课
  • 网站建设最重要的是什么wordpress 海淘主题下载地址
  • 罗湖网站建设罗湖网站设计wordpress is_user_logged_in()
  • 江西网站开发多少钱互联网公司排名2024
  • 做MAD生肉网站销售管理系统需求分析
  • 做网站一定要购买虚拟主机吗网站建设ppt模板
  • 品牌形象网站源码男女做暧网站
  • 山东省建设监理协会网站6网站权重2的网站
  • 科技广告公司网站建设专业的网站建设设计价格
  • 西安网站建设瑞信建站公司一般怎么获客
  • 哪家公司建网站好淘宝网站建设可行性分析
  • 浙江网站建设推广公司哪家好中和seo公司
  • 资阳网站优化金华建设技工学校网站
  • 华北建设集团有限公司oa网站网页制作中的网站维护