Lors de la récupération de la valeur d'identité d'une clé primaire après insertion, plusieurs méthodes sont disponibles. Cet article explore les avantages et les limites de chaque méthode pour vous aider à choisir celle qui convient le mieux à vos besoins.
Les méthodes suivantes sont couramment utilisées :
@@IDENTITY n'est pas sécurisé, car il peut renvoyer la valeur d'identité générée par une instruction ou un déclencheur différent. SCOPE_IDENTITY() est scope-safe mais renvoie la dernière valeur d'identité générée quelle que soit la table, ce qui peut prêter à confusion dans certains cas.
La clause OUTPUT est avantageuse pour récupérer plusieurs valeurs d'identité ou des colonnes supplémentaires, mais cela nécessite de spécifier explicitement les colonnes à renvoyer. IDENT_CURRENT('Table') est utile lorsque vous devez récupérer la valeur d'identité uniquement pour une table spécifique.
La clause OUTPUT n'a pas de portée -safe, car il renvoie une table plutôt qu'une valeur unique. Par conséquent, elle ne peut pas être utilisée dans des contextes où une valeur d'identité unique est attendue, comme lors de la définition d'une valeur de clé primaire dans une relation de clé étrangère.
Le choix de la méthode dépend de la exigences spécifiques de votre application. Pour les valeurs d'identité étendues, SCOPE_IDENTITY() est recommandé ; pour les valeurs d'identité sans portée ou lors de la récupération de plusieurs valeurs d'identité, OUTPUT peut être utile ; et pour récupérer les valeurs d'identité d'une table spécifique, IDENT_CURRENT('Table') convient.
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!