MySQL Forums
Forum List  »  French

Re: Récupération d'un numéro auto incrémenté dans un trigger
Posted by: Jean Molliné
Date: December 11, 2013 07:07AM

Schématiquement, l'idée est relativement simple, voici le déroulement sommaire :

Requête de départ, on insère des données;

INSERT INTO matable(col_id, col_1, col_2, col_3)
VALUES(NULL, 'valeur 1', 'valeur 2', NULL);

Récupération de la clé primaire dans une variable :
SELECT col_id INTO @p_col_id FROM matable WHERE col_1 = 'valeur 1' AND col_2 = 'valeur 2';

Mise à jour de la ligne :
UPDATE matable
SET col_3 = @p_col_id
WHERE col_id = @p_col_id;

Ou encore, factoriser les deux dernières :
UPDATE matable
SET col_3 = col_id
WHERE col_1 = 'valeur 1'
  AND col_2 = 'valeur 2';

Bien entendu, on exécute la mise à jour uniquement dans la mesure où on sait que col_3 vaut NULL pour la ligne considérée, il faudra donc rajouter les tests appropriés.
Mais avec un processus de ce type, on a plus besoin de trigger du tout.

______________________________________________________________
Une question bien formulée, c'est un problème bien compris : ça représente déjà les 3/4 de la réponse ;)

Options: ReplyQuote


Subject
Views
Written By
Posted
Re: Récupération d'un numéro auto incrémenté dans un trigger
1698
December 11, 2013 07:07AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.