Page 1 sur 1

Locker enregistrement table MySql

Posté : 10 juil. 2009, 08:12
par Itachi37
Bonjour,

Est-il possible en MySql (version 5) de locker un enregistrement d'une table au format MyIsam.
Je m'explique :

- Un utilisateur se connecte sur l'application et recherche une information pour la mettre à jour.
- Un autre utilisateur se connecte sur l'application et recherche la même information. Il ne doit pas pouvoir y accèder, une personne travaille déjà sur cet enregistrement.

Comment faire ?

Merci pour l'aide que vous pourrez m'apporter.
Cordialement,

Posté : 10 juil. 2009, 09:53
par stopher
Salut ,

bloquer une table me semble pas être une bonne solution , celà risque d'être désastreux pour tes perf .

Je conseillerais plutôt d'utiliser ce que l'on nomme un mutex , au niveau de ton code php , qui te permet d'être certains qu'une seule personne travail en écriture , et les autres , en lecture seule ( c'est le même principe pour les wiki ).

Simple à mettre en place et efficace . :)

Good luck ,

Ch.

Re: Locker enregistrement table MySql

Posté : 10 juil. 2009, 15:52
par dunbar
Bonjour,

Est-il possible en MySql (version 5) de locker un enregistrement d'une table au format MyIsam.
Je m'explique :

- Un utilisateur se connecte sur l'application et recherche une information pour la mettre à jour.
- Un autre utilisateur se connecte sur l'application et recherche la même information. Il ne doit pas pouvoir y accèder, une personne travaille déjà sur cet enregistrement.

Comment faire ?

Merci pour l'aide que vous pourrez m'apporter.
Cordialement,

Salut,

Avec des TABLES MyISAM tu dois faire appel au verrouillage locking, par contre avec des TABLES InnoDB LOCK

Les différents loctypes

:arrow: READ => en lecture uniquement aucune modification possible.

:arrow: READ LOCAL => Comme READ, mais en plus de nouveau INSERT reste possible tant que ceux-ci ne modifie pas des enregistrement existant.

:arrow: WRITE => l'utilisateur actuel peut lire et modifier la TABLE et uniquement lui.

etc la doc


Cela dis je suivrais les conseils de stopher
bloquer une table me semble pas être une bonne solution

Posté : 13 juil. 2009, 15:13
par Itachi37
Merci pour vos réponses.
Je ne souhaite pas "locker" une table entière, mais uniquement un "enregistrement" d'une table.
Mais je vais suivre vos conseils et me pencher sur les "mutex" que je ne connais pas.

Merci pour le conseil.

@+