mysql触发器更新自己表_mysql触发器实例:更新表数据之前触发
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.02 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.02 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.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>
mysql> CREATE TRIGGER myTrigger //创建触发器
-> BEFORE UPDATE ON employee
-> FOR EACH ROW
-> BEGIN
->
-> UPDATE employee
-> SET salary=salary+(NEW.salary-OLD.salary)
-> WHERE id=NEW.id;
->
-> END$$
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql>
mysql> update employee set salary = 1000;
ERROR 1442 (HY000): Can't update table 'employee' in stored function/trigger because it is already used by statement
which invoked this stored function/trigger.
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触发器实例:更新表数据之前触发相关推荐
- mysql触发器求属性和_MySQL触发器demo
MySQL触发器示例 0写在之前: 最近在带浙大本科生的数据库系统的上机课,我手里拿到的教学文档非常的老,本人及不习惯老文档里的sql server的操作,就让大家安装的MySQL,这就有了个问题:M ...
- mysql从一张表更新另外一张表_MySQL 从一张表update字段到另外一张表中
先来几个简单的示例 Solution 1: 1列 update student s, city c set s.city_name = c.name where s.city_code = c.cod ...
- mysql全局读写怎么锁_MySQL全局锁和表锁
最近正好在看操作系统中关于线程,锁的部分,也可以学习一下数据库种的锁. MySQL的锁分为全局锁,表级锁,行锁三类. 全局锁 名思义,全局锁就是对整个数据库实例加锁.MySQL提供了一个加全局读锁的方 ...
- mysql 表字段信息从一张表迁移到另一张表_Mysql之分库分表
互联网系统需要处理大量用户的请求.比如微信日活用户破10亿,海量的用户每天产生海量的数量:美团外卖,每天都是几千万的订单,那这些系统的用户表.订单表.交易流水表等是如何处理呢? 数据量只增不减,历史数 ...
- mysql查看比较大的数据表_mysql 如何查看哪些表数据量比较大
数据库中有几十上百张表,那么哪些表的数据量比较大呢,总不能一个表一个表的去查询吧,在mysql中也有类似于oracle的数据字典表,只不过mysql没有oracle记录的那么多和详细,但也足够我们查询 ...
- mysql 分表_MySQL如何分库分表
数据库分库分表估计很多伙伴都没有实践过,就是因为自己公司的业务不是很多,没有那么多数据.假如有一天项目的人数上来了,你写的系统支撑不住了,希望这篇文章带给你一丝丝的思路." 前言 在面试过程 ...
- mysql查询添加数据库表_MySQL数据库篇之表的增删改查
主要内容: 一.表介绍 二.创建表 三.查看表结构 四.修改表结构 五.复制表 六.删除表 1️⃣ 表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称 ...
- mysql myisam表_mysql优化之MyISAM表锁
概述 MyISAM存储引擎只支持表锁,mysql的表锁有两种模式:读锁和写锁. 他们的兼容关系是(对myisam的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写操作*)和(对myisa ...
- mysql建立班级表_MySql 复习及学生表,课程表,班级表的创建
学习笔记 ·数据库表的创建及查询 文章目录 学习笔记 任务过程 第一步:分析需求 第二步:新建数据库 第三步:新建表 1.Grade表 2.Student表 3.subject表 第三步:插入数据 1 ...
- 查看 mysql 占用的内存大小_mysql查看数据库和表的占用空间大小
查看数据库的大小 use 数据库名 SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) FROM information_schema.TABLES where TAB ...
最新文章
- mysql 相除 取整数位,psql除法保留小数,实现向上取整和向下取整操作_PostgreSQL_数据库...
- github emoji 表情列表
- [转] ArcEngine 产生专题图
- CodeForces 1491G Switch and Flip(结论)
- Together(AtCoder-3524)
- 微信oauth2接口获取用户的openid
- 18.mysql优化(三)–explain分析sql语句执行效率
- mendeley 笔记_免费文献管理器 Mendeley,其实比你想象的好用!
- 学点 C 语言(22): 数据类型 - 多维数组与指针
- 依图做语音了!识别精度创中文语音识别新高点
- python自动注册邮箱_python自动化办公——邮箱
- 重启linux系统后 启动mysql ERROR! The server quit without updating PID file /var/run/mysqld/mysqld.pid
- JS数据结构与算法-队列结构
- 腾讯企业邮箱功能比较
- 第 7 章 —— 代理模式
- 开源镜像站最新动态20150626
- urchin的安装及使用
- linux计算字符串md5值,计算字符串md5的几个方法
- 【BZOJ5498】[十二省联考2019]皮配(动态规划)
- 计算机跨考地信研究生,过来人解答关于跨考地信后续的几个复习问题
热门文章
- 代理工具及使用技巧Proxy Hunter
- delphi备份Oracle,Oracle数据库自动备份工具(Delphi源码)
- css3静态进度条,CSS3+JS实现静态圆形进度条
- linux锐捷代码_告诉你Ubuntu Linux锐捷安装方法及命令
- VS2012 有效注册密钥(截止到2016/9/27仍有效)
- 带你一步步破解Android微信聊天记录解决方案
- 为什么你的种子磁力下载很慢?
- 中国生物医药产业集群产业战略布局及运营管理模式分析报告2021-2027年
- Windows XP3安装internet 信息服务(IIS)时对策
- spss相关性分析_关公配赤兔——因子分析和SPSS