Bonjour à tous!
Je viens avec une question relativement simple. Cependant, je n'ai pas trouvé de réponse après une longue matinée de recherche...peut être allez vous pouvoir m'aider.
Imaginons que j'aie une table client avec deux champs
client_id (numéro auto-incrémenté)
client_nom (chaine de caractères)
Deux utilisateurs créent un enregistrement dans cette table EN MEME TEMPS.
La requête est du genre
insert into client (client_nom) values (nomclient)
L'identifiant du client est généré automatiquement. La question est de savoir quand exactement est-il créé?
A- au moment de l'INSERT: auquel cas l'identifiant sera le même dans les deux requêtes.
B- au moment du COMMIT: auquel cas on ne doit pas se soucier des éventuels doublons.
C- "Rien de tout ça. T'es vraiment une chèvre en BDD! Casse-toi!!"
Cela dépend-il des SGBD?
Comment gérer les éventuels conflits (accès concurrentiels)?
Voilà.. J'espère avoir été clair.
Merci d'avance pour vos réponses!
Partager