mysql触发器实例之更新前触发,代码如下:

mysql> CREATE TABLE Employee( //创建数据表

-> id int,

-> first_name VARCHAR(15),

-> last_name VARCHAR(15),

-> start_date DATE,

-> end_date DATE,

-> salary FLOAT(8,2),

-> city VARCHAR(10),

-> description VARCHAR(15)

-> );

Query OK, 0 rows affected (0.03 sec)

mysql> insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description)

-> values (1,'Jason', 'Martin', '19960725', '20060725', 1234.56, 'Toronto', 'Programmer');

Query OK, 1 row affected (0.00 sec)

mysql>

mysql> insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description)

-> values(2,'Alison', 'Mathews', '19760321', '19860221', 6661.78, 'Vancouver','Tester');

Query OK, 1 row affected (0.00 sec)

mysql>

mysql> insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description)

-> values(3,'James', 'Smith', '19781212', '19900315', 6544.78, 'Vancouver','Tester');

Query OK, 1 row affected (0.00 sec)

mysql>

mysql> insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description)

-> values(4,'Celia', 'Rice', '19821024', '19990421', 2344.78, 'Vancouver','Manager');

Query OK, 1 row affected (0.00 sec)

mysql>

mysql> insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description)

-> values(5,'Robert', 'Black', '19840115', '19980808', 2334.78, 'Vancouver','Tester');

Query OK, 1 row affected (0.02 sec)

mysql>

mysql> insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description)

-> values(6,'Linda', 'Green', '19870730', '19960104', 4322.78,'New York', 'Tester');

Query OK, 1 row affected (0.00 sec)

mysql>

mysql> insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description)

-> values(7,'David', 'Larry', '19901231', '19980212', 7897.78,'New York', 'Manager');

Query OK, 1 row affected (0.00 sec)

mysql>

mysql> insert into Employee(id,first_name, last_name, start_date, end_Date, salary, City, Description)

-> values(8,'James', 'Cat', '19960917', '20020415', 1232.78,'Vancouver', 'Tester');

Query OK, 1 row affected (0.00 sec)

mysql>

mysql> select * from Employee;

+------+------------+-----------+------------+------------+---------+-----------+-------------+

| id | first_name | last_name | start_date | end_date | salary | city | description |

+------+------------+-----------+------------+------------+---------+-----------+-------------+

| 1 | Jason | Martin | 1996-07-25 | 2006-07-25 | 1234.56 | Toronto | Programmer |

| 2 | Alison | Mathews | 1976-03-21 | 1986-02-21 | 6661.78 | Vancouver | Tester |

| 3 | James | Smith | 1978-12-12 | 1990-03-15 | 6544.78 | Vancouver | Tester |

| 4 | Celia | Rice | 1982-10-24 | 1999-04-21 | 2344.78 | Vancouver | Manager |

| 5 | Robert | Black | 1984-01-15 | 1998-08-08 | 2334.78 | Vancouver | Tester |

| 6 | Linda | Green | 1987-07-30 | 1996-01-04 | 4322.78 | New York | Tester |

| 7 | David | Larry | 1990-12-31 | 1998-02-12 | 7897.78 | New York | Manager |

| 8 | James | Cat | 1996-09-17 | 2002-04-15 | 1232.78 | Vancouver | Tester |

+------+------------+-----------+------------+------------+---------+-----------+-------------+

8 rows in set (0.00 sec)

mysql> delimiter $$

mysql> CREATE TRIGGER myTrigger //创建触发器

-> BEFORE UPDATE ON employee

-> FOR EACH ROW

-> BEGIN

-> IF NEW.salary <5000 THEN

-> SET NEW.first_name=CONCAT('NEW.first_name','*');

-> ELSE

-> SET NEW.last_name=CONCAT('NEW.last_name','*');

-> END IF;

-> END$$

Query OK, 0 rows affected (0.01 sec)

mysql> delimiter ;

mysql>

mysql> update employee set salary = 1000, first_name='new first Name';

Query OK, 8 rows affected (0.00 sec)

Rows matched: 8 Changed: 8 Warnings: 0

mysql>

mysql> select * from employee;

+------+-----------------+-----------+------------+------------+---------+-----------+-------------+

| id | first_name | last_name | start_date | end_date | salary | city | description |

+------+-----------------+-----------+------------+------------+---------+-----------+-------------+

| 1 | NEW.first_name* | Martin | 1996-07-25 | 2006-07-25 | 1000.00 | Toronto | Programmer |

| 2 | NEW.first_name* | Mathews | 1976-03-21 | 1986-02-21 | 1000.00 | Vancouver | Tester |

| 3 | NEW.first_name* | Smith | 1978-12-12 | 1990-03-15 | 1000.00 | Vancouver | Tester |

| 4 | NEW.first_name* | Rice | 1982-10-24 | 1999-04-21 | 1000.00 | Vancouver | Manager |

| 5 | NEW.first_name* | Black | 1984-01-15 | 1998-08-08 | 1000.00 | Vancouver | Tester |

| 6 | NEW.first_name* | Green | 1987-07-30 | 1996-01-04 | 1000.00 | New York | Tester |

| 7 | NEW.first_name* | Larry | 1990-12-31 | 1998-02-12 | 1000.00 | New York | Manager |

| 8 | NEW.first_name* | Cat | 1996-09-17 | 2002-04-15 | 1000.00 | Vancouver | Tester |

+------+-----------------+-----------+------------+------------+---------+-----------+-------------+

8 rows in set (0.00 sec)

mysql>

mysql> update employee set salary = 6000, last_name='new last Name';

Query OK, 8 rows affected (0.00 sec)

Rows matched: 8 Changed: 8 Warnings: 0

mysql>

mysql> select * from employee;

+------+-----------------+----------------+------------+------------+---------+-----------+-------------+

| id | first_name | last_name | start_date | end_date | salary | city | description |

+------+-----------------+----------------+------------+------------+---------+-----------+-------------+

| 1 | NEW.first_name* | NEW.last_name* | 1996-07-25 | 2006-07-25 | 6000.00 | Toronto | Programmer |

| 2 | NEW.first_name* | NEW.last_name* | 1976-03-21 | 1986-02-21 | 6000.00 | Vancouver | Tester |

| 3 | NEW.first_name* | NEW.last_name* | 1978-12-12 | 1990-03-15 | 6000.00 | Vancouver | Tester |

| 4 | NEW.first_name* | NEW.last_name* | 1982-10-24 | 1999-04-21 | 6000.00 | Vancouver | Manager |

| 5 | NEW.first_name* | NEW.last_name* | 1984-01-15 | 1998-08-08 | 6000.00 | Vancouver | Tester |

| 6 | NEW.first_name* | NEW.last_name* | 1987-07-30 | 1996-01-04 | 6000.00 | New York | Tester |

| 7 | NEW.first_name* | NEW.last_name* | 1990-12-31 | 1998-02-12 | 6000.00 | New York | Manager |

| 8 | NEW.first_name* | NEW.last_name* | 1996-09-17 | 2002-04-15 | 6000.00 | Vancouver | Tester |

+------+-----------------+----------------+------------+------------+---------+-----------+-------------+

8 rows in set (0.00 sec)

mysql>

mysql> drop trigger myTrigger; //删除触发器

Query OK, 0 rows affected (0.00 sec)

mysql> drop table Employee; //删除表

Query OK, 0 rows affected (0.00 sec)

mysql触发器更新前触发_mysql触发器实例:更新前触发相关推荐

  1. mysql触发器求属性和_MySQL触发器demo

    MySQL触发器示例 0写在之前: 最近在带浙大本科生的数据库系统的上机课,我手里拿到的教学文档非常的老,本人及不习惯老文档里的sql server的操作,就让大家安装的MySQL,这就有了个问题:M ...

  2. mysql配置多个磁盘_MySQL多实例配置(两)

    MySQL操作和维护一个集中的数据库的.它可以由一个单一的执行MySQL在数据库服务器,部署多MySQL示例.这个功能是由mysqld_multi实现.mysqld_multimysqld的服务进程. ...

  3. mysql 触发器 定时触发_mysql 触发器和存储过程组合使用,实现定时触发操作

    mysql可以实现定时触发功能,比如说定于某某时间mysql数据库做什么工作,或每隔多长时间做什么工作. 第二种情况应用还是比较广的,比如说我希望每天检查一下我的数据信息,超过一个月的无用信息清除以腾 ...

  4. mysql触发器联立删除_mysql触发器删除实例1

    mysql>create table t1 (a1 int);mysql>create table t2 (a2 int , b2 char(5));其中t2.a2和t1.a1是对应的,a ...

  5. mysql触发器区分新增 修改_MySQL触发器 , 判断更新操作前后数据是否改变

    改动表为user , 改动后将部分信息写入cfq_tab表 1. 新增触发器 create TRIGGER cfq_on_user_add after insert on user for each ...

  6. mysql触发器发送curl请求_mysql触发器作用,好处和curl

    什么是触发器: 触发器是一种特殊的存储过程,它在试图更改触发器所保护的数据时自动执行. 触发器有什么作用: 1.安全性.可以基于数据库的值使用户具有操作数据库的某种权利. 2.审计.可以跟踪用户对数据 ...

  7. mysql触发器调用存储过程出错_mysql 触发器中调用存储过程

    想要在MYSQL的触发器中调用存储过程,但是IDE提示: 0A000 Not allowed to return a result set from a trigger 触发器代码如下: DELIMI ...

  8. mysql在触发器中调用存储过程_mysql 触发器中调用存储过程

    想要在MYSQL的触发器中调用存储过程,但是IDE提示: 0A000 Not allowed to return a result set from a trigger 触发器代码如下: DELIMI ...

  9. mysql的配置文件几个_mysql多实例(多个配置文件方式)

    1)简介mysql 版本:mysql-5.5.27cmake:cmake-2.8.8操作系统:CentOS6.5mysql实例数:3个实例占用端口分别为:3306.3307.33082)本次安装所有的 ...

  10. mysql+提升更新语句效率_MySQL加快批量更新 UPDATE优化

    如果是更新为同样的内容,没啥难度,直接在where里面下功夫就好了,大家都懂,我要说的是针对更新内容不一样的情况 首先,先看看网上转载的方法: mysql 批量更新如果一条条去更新效率是相当的慢, 循 ...

最新文章

  1. 一个颠覆性答案,登上《科学》封面:是什么弄破了这些泡泡? | 科学GIF
  2. 谈谈虚拟化及其安全性
  3. MySQL-主从复制监控
  4. 聚类 高维聚类 聚类评估标准 EM模型聚类
  5. Vitamio中文API文档(1)—— MediaStore
  6. php函数用粗体字显示,用来设置粗体字的属性是什么
  7. 计算机组成原理201501,计算机组成原理201501.pdf
  8. 黑色精美Mxone电影先生在线影视网站源码 苹果cmsV10模板
  9. 天津大学计算机专硕_(55)东北林业大学2020计算机与软件考研数据速览
  10. Css中部分知识点整理【笔记整理】
  11. java里面比较重要的东西_Java面向对象程序设计中很重要的一些东西
  12. Oracle命令--查询语句
  13. Centos 7.X 安装 supervisord
  14. jquery.lazyload.js实现图片延迟加载——wordpress图片随滚动条渐显效果
  15. 小迪渗透测试学习笔记(一)基础入门-概念名词
  16. [2019 icpc徐州] H.Yuuki and a problem 带修改的主席树(主席树+树状数组)
  17. 凸优化工具包CVX快速入门
  18. VTK(The Visualization Toolkit)加载stl模型
  19. matlab 进行非线性回归,5.利用Matlab编程进行非线性回归分析.doc
  20. 28张图解 | 互联网究竟是「如何连接,如何进行通信」的?

热门文章

  1. static与final关键字
  2. 泛泰A870 CWM Recovery En/Cn合集
  3. Embarcadero® Delphi 10.3源码安装fastreport6
  4. 筑墙——只需一点点安全常识就能阻止网络犯罪
  5. java流传输_Java 运用流传输文件
  6. python动态数据类型_[python学习手册-笔记]004.动态类型
  7. linux下的pdf工具下载,Linux系统下的PDF好帮手 LinuxPDFeditor
  8. 一周搞定scrapy之3,将爬取到的起点中文网信息保存到mysql
  9. 过滤钩子驱动程序一(微软DDK文档,FLASHSKY翻译)
  10. 有hcna证没有工作经验好找工作吗?