Bonjour,

Mon problème est le suivant : je développe une application dont l'objet de permettre à une dizaine de personnes de compléter des enregistrements d'une base Mysql en travaillant en simultané. La base contient une table de 15000 lignes. Pour effectuer leur saisie, ces personnes cliquent sur un bouton. L'application doit leur proposer un des enregistrements disponible pour la saisie.

la table contient un colonne qui permet de déterminer le statut de l'enregistrement (0=dispo, 1, 2,3 correspondent à saisi mais avec des statuts différents et le 4 en cours de saisi).

L'idée est de ne pas proposer à deux personnes la même ligne. pour ce faire j'ai essayé de créer la procédure suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
BEGIN
DECLARE id integer;
select ident into id from findevie.adresses where statut=0 limit 1;
update findevie.adresses set statut=4 where ident=id;
select * from findevie.adresses where ident=id;
END//
Cela fonctionne, sauf que 2 lignes sont passées au statut =4. Celle qui est sélectionnée et la précédente.

Etant newbie sur mysql, je vous remercie de votre aide.

Raphaël