数据库触发器使用注意
来源:互联网 发布:java 上传文件 编辑:程序博客网 时间:2024/05/17 18:45
在mysql 中创建触发器,如下出现如下的错误:
Can't update table 't1' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.(无法更新表t1 的函数或者触发器,因为它已经使用了这个保存的函数或者触发器)
delimiter |create trigger TR_XXXXXbefore update on t1 for each row begin if new.t='nihaoma?' then update t1 set new.t = 'ni hao' where t=new.t; //我这里调用了update 然后触发器也是update事件,这样导致了mysql可能会递归调用的意思 end if;end;|
解决方案:
1. MYSQL中触发器中不能对本表进行 insert ,update ,delete 操作,以免递归循环触发
2. 对于update 只能用set 进行操作,insert与delete只能借助第二张表才能实现需要的目的
3.网上有人说:借助连接查询语句试试看,实现思路,先将要符合删除条件的记录查询出来,作为一个新的集合(相当于一张中间表),在通过集合与当前表的 inner join 语句 进行删除。
备注:在SQLServer 中是可以的。
0 0
- 数据库触发器使用注意
- oracle 数据库触发器的使用
- MySql_数据库触发器的使用
- 数据库中触发器的使用
- 数据库触发器的使用范例
- Navicat使用触发器-使用MySQL数据库
- SQL Server数据库中使用触发器经验
- 使用触发器实现数据库级守护
- 数据库触发器(Trigger)的一点使用心得
- 使用触发器实现两个数据库同步
- SQL数据库触发器和游标的使用
- 使用触发器记录数据库删除操作
- 数据库oracle--触发器的简单使用
- 数据库中触发器和索引的使用
- 使用数据库脚本的注意
- 数据库触发器
- 数据库触发器
- 数据库触发器
- Dom4j 使用简介
- strlen函数
- js 里面if()括号里只有一个参数是什么意思
- 对C++中派生类的构造函数和析构函数的认识
- OJ 1431 sort 整数哈希
- 数据库触发器使用注意
- android一个应用的activity调用另一个应用的activity
- 对C++中作用域标示符的认识
- JAVA中重写equals()方法为什么要重写hashcode()方法?
- android-知晓当前是哪一个活动
- 算法可视化
- 下载eclipse
- 第四周项目1-三角形类的构造函数(2)
- Ubuntu 搭建 Vpn 服务