Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySql verrouille-t-il automatiquement les lignes ou dois-je ajouter un verrou en mode partage ?

Je pense que sur la base de vos réponses à mes commentaires, vous ne devriez vraiment pas avoir à vous soucier de la gestion manuelle des verrous de table. InnoDB prend en charge le verrouillage au niveau des lignes et avec la validation automatique activée (comme c'est le cas par défaut), toutes les requêtes individuelles sont en fait traitées de manière transactionnelle.

Maintenant, si vous avez plusieurs requêtes SQL qui doivent être traitées comme une seule transaction (c'est-à-dire mettre à jour une table, puis mettre à jour une autre table - soit les deux réussissent, soit les deux sont annulées), vous devez alors démarrer spécifiquement une transaction et la valider ou annulez-le après l'exécution des requêtes provisoires.

Vous pouvez également utiliser SET TRANSACTION si vous avez besoin de changer le niveau d'isolement de la transaction (c'est `REPEATABLE READ1 par défaut).

Pour plus d'informations, consultez la Documentation MySQL