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.02 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.00 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.01 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>

mysql> CREATE TRIGGER myTrigger BEFORE UPDATE ON employee //创建mysql触发器

-> FOR EACH ROW

-> BEGIN

->

-> IF NEW.id > 5 THEN

-> SET NEW.first_name = NEW.first_name+ " *";

-> END IF;

->

-> IF NEW.salary IS NULL OR NEW.salary = 0 THEN

-> SET NEW.salary = 100;

-> ELSE

-> SET NEW.salary = NEW.salary + 100;

-> END IF;

->

-> END

->

-> //

Query OK, 0 rows affected (0.00 sec)

mysql> DELIMITER ;

mysql>

mysql> update employee set id = 6, first_name= 'new', salary = null; //更新数据

Query OK, 8 rows affected, 8 warnings (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 |

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

| 6 | 0 | Martin | 1996-07-25 | 2006-07-25 | 100.00 | Toronto | Programmer |

| 6 | 0 | Mathews | 1976-03-21 | 1986-02-21 | 100.00 | Vancouver | Tester |

| 6 | 0 | Smith | 1978-12-12 | 1990-03-15 | 100.00 | Vancouver | Tester |

| 6 | 0 | Rice | 1982-10-24 | 1999-04-21 | 100.00 | Vancouver | Manager |

| 6 | 0 | Black | 1984-01-15 | 1998-08-08 | 100.00 | Vancouver | Tester |

| 6 | 0 | Green | 1987-07-30 | 1996-01-04 | 100.00 | New York | Tester |

| 6 | 0 | Larry | 1990-12-31 | 1998-02-12 | 100.00 | New York | Manager |

| 6 | 0 | Cat | 1996-09-17 | 2002-04-15 | 100.00 | Vancouver | Tester |

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

8 rows in set (0.00 sec)

mysql>

mysql> update employee set id = 7, first_name= 'new', salary = 100; //更新数据

Query OK, 8 rows affected, 8 warnings (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 |

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

| 7 | 0 | Martin | 1996-07-25 | 2006-07-25 | 200.00 | Toronto | Programmer |

| 7 | 0 | Mathews | 1976-03-21 | 1986-02-21 | 200.00 | Vancouver | Tester |

| 7 | 0 | Smith | 1978-12-12 | 1990-03-15 | 200.00 | Vancouver | Tester |

| 7 | 0 | Rice | 1982-10-24 | 1999-04-21 | 200.00 | Vancouver | Manager |

| 7 | 0 | Black | 1984-01-15 | 1998-08-08 | 200.00 | Vancouver | Tester |

| 7 | 0 | Green | 1987-07-30 | 1996-01-04 | 200.00 | New York | Tester |

| 7 | 0 | Larry | 1990-12-31 | 1998-02-12 | 200.00 | New York | Manager |

| 7 | 0 | Cat | 1996-09-17 | 2002-04-15 | 200.00 | Vancouver | Tester |

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

8 rows in set (0.00 sec)

mysql> drop table Employee;

Query OK, 0 rows affected (0.02 sec)

mysql 触发器 insert new_mysql触发器实例 插入前更新数据相关推荐

  1. Mysql从入门到入魔——7. 插入、更新和删除

    Mysql从入门到入魔--7. 插入.更新和删除 1. 插入数据 1.1 插入完整行 1.2 插入部分行 1.3 插入检索出的数据 1.4从一个表复制到另一个表 2.更新数据 2.1 更新单行单列 2 ...

  2. MySQL 8——学习笔记03(插入、更新、删除 数据 [DML语句]、查询数据 [DQL语句])

    MySQL 8--学习笔记03(插入.更新.删除 数据 [DML语句]) 一.插入数据 1.1 插入所有字段.插入部分字段 1.2 同时插入多条记录(批量插入) 1.3 将查询结果插入到表中 二.更新 ...

  3. mysql 存储过程查询优化_mysql用存储过程插入百万条数据, 及查询优化

    查看所有存储过程: show procedure status; 查看详细存储过程 ptest: show create procedure ptest; 存储过程插入数据: create table ...

  4. Mysql创建触发器实现不同表的插入、更新、删除操作

    说明:Mysql5.0以上的版本才支持下面的操作. Mysql 触发器的插入.更新.删除操作. 在这里建了两个表:其中这两个表的结构不一样,这里给表admin建立触发器 在对表admin操作的同时,触 ...

  5. [数据库] Navicat for MySQL换种思维解决插入同时更新数据

    这篇文章是我的学生在实际项目中遇到的一个案例,在对某张表插入数据过程中,某些特定的字段需也要进行更新,比如说部门编号在前端插入,而部门名称在插入时应该自动更新,如果前端设置选择编号又选择部门就重复功能 ...

  6. php mysql 失败_在php中插入失败的数据mysql

    我需要将记录添加到表'文字'中.正如您在下面的代码中看到的那样,失败会导致消息data insert failed.在php中插入失败的数据mysql 我已经试图改变一切,在线论坛建议,但它没有帮助. ...

  7. springboot批量更新实体_mybatis+mysql+springboot批量插入,批量更新数据

    在开发过程中都会遇到批量的插入或者是更新数据,本人只写了一下自己在做的过程中遇到问题,写此篇文章的作用:第一是记录自己在工作过程中的问题.第二是方便同行的伙伴们避免出现这样的问题消耗太多的时间.废话不 ...

  8. mysql db 100万行 大小_插入100万行数据

    #创建库和表 CREATE DATABASE db1; USE db1; CREATE TABLE t1(id INT,nam VARCHAR(10),age int); #定义一个存储过程,插入数据 ...

  9. 批量插入或更新数据(MyBatis-plus框架)

    目录 1.场景说明 2.DUPLICATE 和REPLACE比较 3.批量插入或者更新(两种方式) 方式一:mybatis-plus的saveOrUpdateBatch方法 问题:如果操作类集成了基础 ...

  10. php pdo-insert,php mysql pdo insert multiple rows 批量插入

    DEMO: // 批量插入DEMO $dbhost="127.0.0.1"; $dbuser="root"; $dbpwd="123456" ...

最新文章

  1. percona-5.5安装笔记
  2. 成功将用intelli idea 建立的项目打包成jar文件,并在Linux上成功运行
  3. BZOJ 3673: 可持久化并查集 by zky
  4. cocos2d-x返回Android游戏黑屏解决办法
  5. HH SaaS电商系统的出库功能模块设计
  6. 阿里研究院入选中国企业智库系统影响力榜
  7. 我从AI For Everyone学到的十个重要AI 概念
  8. css-modules,CSS Modules 方案
  9. 2022程序猿生产力软件推荐
  10. Windows中的用户和组以及用户密码破解
  11. 详述 PROCEDURES_ICD 患者手术情况表 (七)
  12. 基于采样的路径规划方法
  13. 当前版本与卡刷包android_安卓SuperSU卡刷包 V2.82 SR5 安卓版下载 - win10专业版官网 - win10系统之家...
  14. 第三方登录之QQ登录(一)——QQ互联开放平台新建应用
  15. ISBN书号怎么查询
  16. graphpad两组t检验_如何用 GraphPad prism进行 t 检验?
  17. Oracle PL/SQL 循环
  18. MYSQL中redo log和binlog之间的区别
  19. php7 pecl安装,PHP7安装pecl:memcached扩展
  20. 巴菲特和盖茨的顶级对话:实现财富自由 没有那么难

热门文章

  1. 如何手动卸载SQLServer 2005
  2. Windows 11 配置JDK 环境变量
  3. 如何安装SQL server2005的查询分析器(绝对原创)
  4. linux 锐捷 无法找到网卡信息,linux网卡驱动安装及锐捷使用
  5. 股市最好用的大数据软件_最实用的5款炒股软件
  6. 不是复制硅谷,而是与硅谷建立人脉
  7. Net硅谷动力网站 http://www.enet.com.cn/
  8. 《中國姓氏大全》【带拼音】
  9. win7计算机usb解除禁用,win7
  10. 如何通过Google学术快速获取参考文献引用格式-2021年