|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : avril 2007 Messages : 17 ![]() |
bonjour,
J'ai fais pas mal de recherche sur internet, mais je n'arrive pas à trouver, voilà, j'aimerais savoir comment vérrouiller une ligne d'une table sql pour que lorsque je désire la modifier, personne d'autre puisse y accepter. J'ai utiliser la commande select... FOR UPDATE, mais cela n'a pas l'air de fonctionner. Y a t il une fonction pour savoir si le verrouillage se fait bien. J'utilise mysql avec wamp. Autre problème, je n'arrive pas à utiliser NOWAIT avec FOR UPDATE. Si quelqu'un à une synthaxe. Merci. |
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : avril 2007 Messages : 17 ![]() |
bon, personne peut m'aider? snif, sinon, après d'autres recherches, on parle beaucoup d'un champs auto_increment, quelqu'un peut il me dire à quoi cela sert. Sinon, pour mon vérouillage de ligne, j'ai bien peur de deoivr contourner le problème en rajoutant un champs que je changerais à chaque fois. Mais j'espère qu'il existe une autre solution. J'ai trouvé beaucoup de verrouillage sur des tables, mais pas sur un enregistrement.
|
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : février 2006 Messages : 953 ![]() |
Deux choses : Le verrouillage par ligne n'est possible que pour innoDb, avec MyIsam c'est uniquement par table. De plus il me semble que les verrous sont basés sur les indexes (la clef primaire je suppose) et que toutes les lignes balayées par la requête sont verouillée, c'est à dire que si la requête ne passe pas par un indexe et fait un scan complet de la table tout son contenu sera verouillé.
auto_increment sert généralement à avoir automatiquement un identifiant pour chaque ligne sans avoir à aller récupérer à la main le numéro suivant (si on veut qu'ils se suivent), ce qui serait pénible et poserait justement des problèmes d'accès concurrent. Ca peut limiter le besoin de poser des verrous. Sinon pour tester... ben il faut une table, mettre quelques données dedans, lancer deux clients mysql et tanter différentes modifs (même ligne, lignes différentes...) et veillant à ne pas avoir l'autocommit d'activé. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com