求助,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 ;
当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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28