MySQL déclenche impossible de mettre à jour les lignes dans la même table que le déclencheur est attribué. Solution de contournement proposée?

MySQL ne prend pas en charge la mise à jour des lignes de la même table le déclencheur est attribué à l'appel pourrait devenir récursive. Quelqu'un aurait-il des suggestions sur une bonne solution/alternative? Droit maintenant, mon plan est d'appeler une procédure stockée qui effectue la logique, que je voulais vraiment dans un déclencheur, mais j'aimerais entendre comment les autres ont contourné cette limitation.

Edit: Un peu plus de fond, comme demandé. J'ai une table qui stocke les attributs des produits d'affectations. Lorsqu'un nouveau produit parent enregistrement est inséré, j'aimerais le déclencheur pour effectuer un correspondant insérer dans le même tableau pour chaque enregistrement enfant. Cette dénormalisation est nécessaire pour la performance. MySQL ne supporte pas cela et lance:

Can't update table 'mytable' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. Une longue discussion sur la question sur MySQL forums essentiellement à: Utiliser une procédure stockée, qui est ce que je suis allé avec pour l'instant.

Merci d'avance!

S'il vous plaît ajouter un peu plus de détails à votre question. Ce que vous voulez accomplir dans ces mises à jour?
Êtes-vous essayer de mettre à jour les lignes autres que celles que l'insert de mise à jour ou de supprimer des contenus?
Avez-vous jamais trouver une solution à cela ? - J'ai aussi besoin de mettre à jour plusieurs lignes dans la table même lorsque l'une des lignes avec un unique champ est mis à jour ?

OriginalL'auteur Cory House | 2010-02-25