+ -
当前位置:首页 → 问答吧 → 求助,mysql 触发事件不能执行

求助,mysql 触发事件不能执行

时间:2011-09-06

来源:互联网

要实现的功能
        当a 表中 sign=1 的时候 更新b 表中的时间
下面是我的两具体操作

现在我有两个表
CREATE TABLE IF NOT EXISTS `a` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `sign` enum('0','1') NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;


CREATE TABLE IF NOT EXISTS `b` (
  `bid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `time` int(10) NOT NULL,
  `aid` int(10) NOT NULL,
  PRIMARY KEY (`bid`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;


其中 b表中的 aid 为a表中的id
要实现的功能
        当a 表中 sign=1 的时候 更新b 表中的时间

我自己写了一个 不过不好用


delimiter ||
CREATE TRIGGER `test_update`
AFTER UPDATE ON `a`
FOR EACH ROW
BEGIN
IF new.sign='1' THEN
  UPDATE b  SET time=1122334455 WHERE aid=id;
END IF;
END
|| delimiter ;

作者: zzphper   发布时间: 2011-09-06

不好用? 是啥意思?
不生效? 性能不好?

作者: Steven1981   发布时间: 2011-09-06