Bonjour,
Description rapide :
Un utilisateur 1 supprime une ligne d'un table A. Avant la fin de la transaction, un utilisateur 2 essaie d'ajouter une ligne dans une table B, il obtient un timeout.
Description détaillée :
Description du cas de test :
Table A : Id_A (clé primaire en auto_incrément)
Table B : Id_B (clé primaire en auto_incrément), Id_A (clé étrangère de la table A)
Toutes les tables sont en inno_db
Lancement de 2 transactions (utilisateurs distincts) en parallèle.
Scénario :
Utilisateur 1 démarre une transaction
Utilisateur 1 supprime une ligne A1 de la table A.
Utilisateur 2 démarre une transaction
Utilisateur 2 crée une ligne sur la table B avec comme valeur de Id_A A2 (une autre ligne que celle supprimée par l'utilisateur 1)
=> L'utilisateur 2 subi un timeout (à priori car la transaction de l'utilisateur 1 n'est pas terminée)
-> Pourquoi vu qu'il s'agit d'enregistrements différents ?
Merci de vos réponses et pistes éventuelles.
Partager