概述
触发器初始结构:
DELIMITER $$
CREATE
TRIGGER `数据库名`.`触发器名` BEFORE/AFTER INSERT/UPDATE/DELETE
ON `数据库名`.`表名`
FOR EACH ROW BEGIN--逻辑、条件语句
END$$
DELIMITER ;
目的:当一张表中的某个字段值更新为特定值时,触发更新本条数据的另一字段值
(示例:根据prj_base_info表中的project_status的值判断是否是600时,触发更新同表的complete_time字段的时间为系统当前时间)
1、开始写出的触发器如下所示
DROP TRIGGER IF EXISTS update_complete_time;
DELIMITER $
CREATE TRIGGER update_complete_time AFTER UPDATE
ON prj_base_info FOR EACH ROW
BEGIN
IF (new.project_status=600)
THEN
UPDATE prj_base_info
SET complete_time=DATE_FORMAT(NOW(), '%Y-%m-%d')
WHERE prj_base_info.id= new.id;
END IF;
END $
执行结果没有问题,创建触发器成功,但是执行update语句进行测试如下报错,提示:无法更新存储函数/触发器中的表'prj_base_info'
最后
以上就是风中月亮为你收集整理的mysql 触发器update_MySql触发器对同表更新的全部内容,希望文章能够帮你解决mysql 触发器update_MySql触发器对同表更新所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复