Précédent   Forum des professionnels en informatique > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/04/2011, 10h40   #1
Invité régulier
 
Homme
Développeur Java
Inscription : septembre 2010
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java
Secteur : Transports

Informations forums :
Inscription : septembre 2010
Messages : 14
Points : 5
Points : 5
Par défaut Verrouillage d'une ligne lors d'un accès en lecture

Bonjour bonjour,

Je cherche actuellement comment verrouiller une seule ligne d'une table lors d'un accès en lecture pour préparer une modification. Je voudrais que lorsque quelqu'un arrive dans la section "Modification" et qu'il sélectionne un enregistrement (qui est dans une liste) ce dernier soit automatiquement verrouillé.

J'ai déjà essayé le SELECT ... FOR UPDATE; et le SELECT ... LOCK IN SHARE MODE; mais ça n'a pas l'air de fonctionner, j'ai l'impression que la syntaxe ne correspond pas. J'utilise la version 5.1.51 de MySQL et le type InnoDB pour ma base de données.

Est-ce qu'il y a d'autres options pour y arriver (par le code? Je développe en JAVA) ou MySQL ne permet t-il pas ce genre de verrouillage?
henkala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2011, 19h50   #2
Membre Expert
 
Avatar de Guardian
 
Inscription : mars 2009
Messages : 715
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 715
Points : 1 449
Points : 1 449
À priori MySQL ne pemet le verrouillage de ligne que pour InnoDB

http://dev.mysql.com/doc/refman/5.0/...l-locking.html
http://dev.mysql.com/doc/refman/5.0/...locks-set.html
Guardian est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/04/2011, 14h31   #3
Invité régulier
 
Homme
Développeur Java
Inscription : septembre 2010
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java
Secteur : Transports

Informations forums :
Inscription : septembre 2010
Messages : 14
Points : 5
Points : 5
Merci de ta réponse,

J'ai essayé avec les différentes requêtes contenues dans la doc de MySQL et concernant les verrous mais il me dit toujours que j'ai un problème de syntaxe (or la syntaxe est celle de la doc ><). Je vois actuellement à verrouiller les enregistrements par mon code JAVA. Cela m'a l'air d'être la solution la plus simple étant donné que MySQL ne propose pas d'outil qui puisse le faire directement.
henkala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 17h43   #4
Invité régulier
 
Homme
Développeur Java
Inscription : septembre 2010
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java
Secteur : Transports

Informations forums :
Inscription : septembre 2010
Messages : 14
Points : 5
Points : 5
J'ai peut être trouvé un élément de réponse,

http://dev.mysql.com/doc/refman/5.0/...isolation.html

Je teste encore mais je n'arrive toujours pas à mes fins.
henkala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2011, 14h55   #5
Invité régulier
 
Homme
Développeur Java
Inscription : septembre 2010
Messages : 14
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Java
Secteur : Transports

Informations forums :
Inscription : septembre 2010
Messages : 14
Points : 5
Points : 5
Bonjour,

J'ai finalement résolu mon problème en faisant des verrous via mon code JAVA à l'aide d'Ajax.

Cordialement,

Henkala.
henkala est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h07.


 
 
 
 
Partenaires

Hébergement Web