Maison > base de données > tutoriel mysql > Comment implémenter le verrouillage pessimiste dans MySQL ?

Comment implémenter le verrouillage pessimiste dans MySQL ?

coldplay.xixi
Libérer: 2020-06-30 17:21:37
original
6405 Les gens l'ont consulté

Méthode de verrouillage pessimiste MySQL : 1. Utilisez d'abord [select ... for update] pour verrouiller, et une fois l'opération terminée, utilisez commit pour libérer le verrou, puis le moteur innodb passe par défaut au niveau de la ligne ; lock ; finalement, aucune donnée ne peut être trouvée, mais ne verrouillez pas la table.

Comment implémenter le verrouillage pessimiste dans MySQL ?

Méthode de verrouillage pessimiste MySQL :

1. Démarrer la transaction

begin;/begin work;/start transaction; (三者选一就可以)
Copier après la connexion

2. informations sur le produit

select status from table where id=1 for update;
Copier après la connexion

3. Générer une commande basée sur les informations sur le produit

insert into table111 (id,goods_id) values (null,1);
Copier après la connexion

4 Modifier le statut du produit à 2

update table set status=2 where id=1;
Copier après la connexion

5. Soumettre la transaction

commit;/commit work; (任选一种释放锁)
Copier après la connexion

Résumé :

1. Implémentez le verrouillage pessimiste en utilisant select... pour la mise à jour pour verrouiller, et utilisez commit pour libérer le verrou une fois l'opération terminée

2. Quand ; en utilisant le moteur innodb, le verrouillage par défaut au niveau de la ligne, lorsqu'il y a un champ clair, une ligne sera verrouillée, s'il n'y a pas de condition ou de condition de requête

Lorsque le champ n'est pas clair, la table entière sera verrouillée ; être verrouillé, et lorsque la condition est une plage, la table entière sera verrouillée

3. Lorsqu'aucune donnée ne peut être trouvée, la table ne sera pas verrouillée ;

Recommandations d'apprentissage associées : Tutoriel vidéo MySQL

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal