用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > mysql教程

mysql 触发器update替代new用法详解

时间:2015-01-23  来源:西部数据  作者:西部数据

在mysql触发器中不可以直接使用update进行数据更新操作了,这个不是mysql bug而官方说可能使用了update会导致死循环了,推荐我们直接使用new赋值变量了.

mysql下insert和update触发器是不能再使用update和insert操作的,官方说明是为了防止出现死循环,解决的办法就是直接对new里的字段赋值,其实也挺方便的,不过也说明mysql的技术有待加强,毕竟人家mssql能够实现的功能,到你这就出问题了,代码如下:

  1. DELIMITER $$ 
  2. USE `zn_home`$$ 
  3. DROP TRIGGER /*!50032 IF EXISTS */ `add_name`$$ 
  4. CREATE 
  5. /*!50017 DEFINER = ‘test’@'%’ */ 
  6. TRIGGER `add_name` BEFORE INSERT ON `uchome_sow` 
  7. FOR EACH ROW BEGIN 
  8. DECLARE _name CHAR(20); 
  9. SELECT `nameINTO _name FROM uchome_space WHERE uid=new.uid;  //phpfensi.com 
  10. SET new.name = _name; 
  11. END
  12. $$ 

看我们只要利用SET new.name = _name;就可以代替update了.

来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门