Récupération de la dernière identité : @@IDENTITY, SCOPE_IDENTITY() et OUTPUT
L'insertion de nouveaux enregistrements dans une table implique souvent de récupérer le dernier généré valeur d'identité de la colonne. Diverses méthodes existent à cet effet, notamment @@IDENTITY, SCOPE_IDENTITY() et OUTPUT.
@@IDENTITY
@@IDENTITY récupère la dernière valeur d'identité produite sur la connexion actuelle, quelle que soit la table ou la portée. Il renvoie la valeur d'identité générée par l'insertion la plus récente, même si elle est déclenchée par une autre opération. Cependant, cette méthode n'est pas sécurisée pour la portée.
SCOPE_IDENTITY()
SCOPE_IDENTITY(), en revanche, est sécurisée pour la portée. Il renvoie la dernière valeur d'identité générée dans la portée actuelle de l'instruction. Cela signifie que si un déclencheur insère un enregistrement et génère une valeur d'identité, SCOPE_IDENTITY() ne renverra pas cette valeur à moins qu'elle n'ait été générée par la même instruction qui a appelé SCOPE_IDENTITY().
Méthode OUTPUT
La méthode OUTPUT est une autre option pour récupérer la valeur d'identité. Il renvoie un tableau des lignes insérées, y compris les valeurs d'identité générées lors de l'insertion. Cette méthode est également sécurisée, car elle récupère uniquement les valeurs d'identité des lignes insérées par l'instruction actuelle.
Décider de la meilleure méthode
Le choix de la méthode pour récupérer la dernière valeur d'identité dépend du scénario spécifique :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!