在navicat for mysql中建立触发器
来源:互联网 发布:iphone7plus在线软件 编辑:程序博客网 时间:2024/05/01 06:03
Mysql的触发器(trigger):监视某种操作,并触发另一种操作。简要说:对表M的操作A触发了对表N的操作B。
触发器创建语法四要素:
1.、引发对象(哪一张表引发的?也就是说表M是谁?)
2、触发时间(after/before)
3、被触发的操作(insert/update/delete)【也就是操作B是什么?位于begin和end之间】
4、本触发器名称
语法:
Create trigger triggerName【本触发器名称】
after/before insert/update/delete on 表名【引发对象表M】
for each row #这句话在mysql是固定的
begin
sql语句;
end;
上述语句含义:建立一个触发器,在【 insert/update/delete on 表名 】 之前或之后,执行begin和end之间的sql语句。
如何在navicat中建立触发器?
假设我有2个数据库,分别是pingce_2015,pingce_ge_2015,两个数据库中都有评委表,pingce_2015中的评委表的表名是user;pingce_ge_2015数据库中的评委表的表名是judges;同一个评委,要保证在两个表中的密码相同,假设 张三是两个数据库中的评委,那么必须要保证他在user表和judges表中的密码相同!
如果我在user表中修改了张三的密码,语句如下:
update `user` set `user`.`password`='111' where `user`.user_name='张三'
那么,必须要修改 judges表中张三的密码,可以在navicat中使用触发器解决这个问题。
操作步骤:
1、 打开pingce_2015数据库,打开user表的设计,在触发器选项中,输入本触发器名称changeOtherPwd;
2、 触发选择after;勾选“刷新”【就是user表的update操作】
3、 将下面语句写在定义中:
begin
update pingce_ge_2015.judges set pingce_ge_2015.judges.`password` = new.`password` where judge_name= new.user_name;
end
解析:由于语句是在 user表的设计中书写的,所以new.`password` 表示user在update操作中的新的密码;new.user_name 表示user在update操作中的新的用户名。
对于update而言:被修改的记录,修改前的数据用old来表示,old.字段名表示被修改之前记录中的字段值;修改的后的记录,用new来表示,new.字段名表示被修改之后记录中的字段值。
当执行了:update `user` set `user`.`password`='111' where `user`.user_name='张三'
之后,触发器会自动更新judges 表中的张三的密码.
注意:不可以循环调用触发器!
- 在navicat for mysql中建立触发器
- 在navicat for mysql中建立触发器
- navicat for mysql 创建触发器
- navicat for mysql 触发器的故事
- Navicat for Mysql 事件触发器调用
- 怎么在Navicat for MySQL 中进行报表设计
- 在Navicat for MySQL中查看数据表创建语句
- [数据库] Navicat for MySQL触发器更新和插入操作
- Navicat for MySQL触发器更新和插入操作
- Navicat for MySQL触发器更新和插入操作
- [数据库] Navicat for MySQL触发器更新和插入操作
- Navicat for MySQL触发器更新和插入操作
- Navicat for MySQL触发器更新和插入操作
- 如何在navicat for MySQL 创建视图
- 为什么navicat for mysql不能建立远程的查询?
- Ubuntu中安装Navicat for Mysql
- navicat for mysql中SSH连接方式
- navicat for mysql中添加注释
- Linux下C语言学习之路——(0)学习路线的选择
- Java线程间的通信
- 两张图片相似度比较
- Python自学之String
- Pojo
- 在navicat for mysql中建立触发器
- 观察者模式
- 在lua中常用到的几个小函数
- Python自学之collection
- 帧速度的控制
- flash外部引入视频
- bzoj1635 最高的牛
- Yii的增删改查-分页
- D类功放设计