Maison > base de données > tutoriel mysql > le corps du texte

Comment obtenir un verrouillage au niveau des lignes dans les tables MyISAM de MySQL ?

Barbara Streisand
Libérer: 2024-10-31 11:25:29
original
689 Les gens l'ont consulté

How to Achieve Row-Level Locking in MySQL's MyISAM Tables?

Verrouillage d'une seule ligne dans la table MyISAM

Dans MySQL, les tables MyISAM ne prennent pas en charge le verrouillage au niveau des lignes. Cependant, si vous avez besoin de fonctionnalités de verrouillage au niveau des lignes, vous pouvez envisager de passer à InnoDB, qui fournit cette fonctionnalité.

Passer à InnoDB pour le verrouillage au niveau des lignes

Pour activez le verrouillage au niveau des lignes, vous devez convertir votre table utilisateur de MyISAM en InnoDB. Vous pouvez le faire en utilisant la commande suivante :

ALTER TABLE <user_table> ENGINE=InnoDB;
Copier après la connexion

Une fois que vous avez converti en InnoDB, vous pouvez utiliser l'instruction SELECT ... FOR UPDATE pour obtenir un verrou exclusif sur une ligne particulière. Cela empêchera les autres sessions de modifier ou d'accéder à la ligne verrouillée jusqu'à ce que le verrou soit libéré.

Voici un exemple :

SELECT * FROM <user_table> 
WHERE <condition> 
FOR UPDATE;
Copier après la connexion

Remarque : Vous devez libérer le verrou rapidement après avoir terminé vos opérations sur la ligne. Cela peut être fait en émettant une instruction COMMIT ou ROLLBACK.

Ressources supplémentaires :

  • [Documentation MySQL : verrous définis par les instructions SQL pour les tables InnoDB]( http://dev.mysql.com/doc/refman/5.0/en/innodb-locks-set.html)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!