MySQL - Déclencheur pour la mise à jour d'une même table après l'insertion

Voici ce que j'essaie de faire:

Quand il y a un nouveau INSERT dans la table ACCOUNTS, j'ai besoin de mettre à jour la ligne dans ACCOUNTSpk = NEW.edit_on par la mise en status='E' pour désigner les (vieux) compte a été édité.

DELIMITER $$

DROP TRIGGER IF EXISTS `setEditStatus`$$
CREATE TRIGGER `setEditStatus` AFTER INSERT on ACCOUNTS
FOR EACH ROW BEGIN
    update ACCOUNTS set status='E' where ACCOUNTS.pk = NEW.edit_on ;
END$$

DELIMITER ;

L'exigence est PAS que je manipule les nouvellement inséré colonne, mais une déjà existant colonne avec pk = NEW.edit_on

Cependant, je ne peux pas mettre à jour le même tableau: Can't update table ACCOUNTS ... already used by the statement that invoked this trigger

S'il vous plaît suggérer une solution de contournement

PS: j'ai déjà passé par La mise à jour de la table de déclenchement après la mise à jour sur la même table, Insérez dans le même tableau déclencher mysql, Mise à jour après déclencheur d'insertion sur la même table et mysql déclencheur d'insertion et de mise à jour après l'insertion sur la table mais ils ne semblent répondre à ma question.

Modifier

ACCOUNTS Table:

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
Comment voulez-vous identifier de manière unique les lignes de ACCOUNTS? Si edit_on est votre clé primaire, alors comment pouvez-vous insérer des doublons?
J'ai édité la question d'inclure la structure de la table. Veuillez voir.
si edit_on = 123 pour une ligne où pk = 456, cela signifie que 456 est une modification sur 123. Par conséquent, status doit être mis à jour pour 'E' pour 123
Il n'y a pas de status colonne dans votre schéma.
oups.. désolé de ma mauvaise. veuillez voir le modifier maintenant

OriginalL'auteur th3an0maly | 2012-10-13