我是靠谱客的博主 干净玉米,最近开发中收集的这篇文章主要介绍mysql加了触发器之后怎么update_MySQL-插入后更新同一表的触发器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

MySQL-插入后更新同一表的触发器

我想做的是:

当有一个新的INSERT放到桌子上ACCOUNTS,我需要更新行ACCOUNTS哪里pk = NEW.edit_on通过设置status='E'表示特定(旧)帐户已被编辑。DELIMITER $$DROP TRIGGER IF EXISTS `setEditStatus`$$CREATE TRIGGER `setEditStatus` AFTER INSERT on ACCOUNTSFOR EACH ROW BEGIN

update ACCOUNTS set status='E' where ACCOUNTS.pk = NEW.edit_on ;END$$DELIMITER ;

要求是不我操纵新插入列,但已经存在列pk = NEW.edit_on

但是,我不能更新同一个表:Can't update table ACCOUNTS ... already used by the statement that invoked this trigger

请提出一个解决办法

编辑

ACCOUNTS表:CREATE TABLE  `ACCOUNTS` (

`pk` bigint(10) unsigned NOT NULL AUTO_INCREMENT,

`user_id` bigint(9) unsigned NOT NULL,

`edit_on` bigint(10) unsigned DEFAULT NULL,

`status` varchar(1) NOT NULL DEFAULT 'A',

PRIMARY KEY (`pk`) USING BTREE) ENGINE=InnoDB AUTO_INCREMENT=2147483726 DEFAULT CHARSET=latin1

最后

以上就是干净玉米为你收集整理的mysql加了触发器之后怎么update_MySQL-插入后更新同一表的触发器的全部内容,希望文章能够帮你解决mysql加了触发器之后怎么update_MySQL-插入后更新同一表的触发器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部