Vous devez ajouter un index sur le id
colonne pour vous assurer d'obtenir un verrou au niveau de la ligne. SELECT ... FOR UPDATE
verrouille toutes les lignes qui sont lues pour exécuter la requête, pas seulement les lignes qui sont réellement sélectionnées. Sans index, il doit effectuer une analyse complète de la table, de sorte que chaque ligne est verrouillée en conséquence.
Avec un index, il place simplement un verrou dans cette entrée d'index, il n'a pas à lire d'autres lignes, donc aucune autre ligne ne sera verrouillée.