mysql 触发器的不能使用update的问题及解决办法

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

DELIMITER $$

USE `zn_home`$$

DROP TRIGGER /*!50032 IF EXISTS */ `add_name`$$

CREATE

/*!50017 DEFINER = ‘test’@’%’ */

TRIGGER `add_name` BEFORE INSERT ON `uchome_sow`

FOR EACH ROW BEGIN

DECLARE _name CHAR(20);

SELECT `name` INTO _name FROM uchome_space WHERE uid=new.uid;

SET new.name = _name;

END;

$$