Selon la documentation MySQL, si une session contient un verrou de lecture pour une table, alors une autre session demande un verrou en écriture pour la même table, le verrou d'écriture doit être donné et le Read verrouiller les attentes.Verrouillage en écriture pour MySQL doit mettre en pause un verrou de lecture
Je l'ai essayé, connecté au serveur MySQL à partir de deux consoles (Windows 7). Verrouillé la table A de la première console (verrou de lecture), puis essayé de verrouiller la même table de la deuxième console (verrou en écriture), mais la deuxième console attend juste jusqu'à ce que le premier verrou libère.
Qui a tort: moi ou la documentation? (MySQL Server version 5.5.27)
La citation de la documentation officielle MySQL:
« verrous d'écriture a une plus grande priorité aux verrous READ pour assurer les mises à jour sont traitées le plus rapidement possible ce moyen. que si une session obtient un verrou READ et qu'une autre session demande un verrou WRITE , les demandes de verrous READ suivantes attendent que la session demandée le verrou WRITE obtienne le verrou et le libère. "
La réponse est dans le document, le verrou en écriture aura la priorité sur les verrous de lecture SUBSEQUENT ... – whosrdaddy