Maison > base de données > tutoriel mysql > Comment choisir entre @@IDENTITY, SCOPE_IDENTITY() et OUTPUT pour récupérer les dernières valeurs d'identité ?

Comment choisir entre @@IDENTITY, SCOPE_IDENTITY() et OUTPUT pour récupérer les dernières valeurs d'identité ?

DDD
Libérer: 2024-12-29 18:03:10
original
338 Les gens l'ont consulté

How to Choose Between @@IDENTITY, SCOPE_IDENTITY(), and OUTPUT for Retrieving Last Identity Values?

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 :

  • @@IDENTITY : Convient pour récupérer la dernière valeur d'identité dans une session spécifique, quelle que soit la portée.
  • SCOPE_IDENTITY() : à utiliser lorsqu'il est crucial de récupérer la valeur d'identité dans la même portée que l'instruction d'insertion.
  • Méthode OUTPUT : Idéale lorsque vous avez besoin de récupérer un tableau de lignes insérées, y compris leur identité valeurs.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal