Maison >base de données >tutoriel mysql >Comment obtenir le dernier ID de ligne inséré dans SQL Server ?
SQL Server offre une approche simplifiée pour obtenir l'ID nouvellement créé après l'insertion d'un enregistrement, particulièrement utile pour les tables employant le type de données IDENTITY
.
Exploiter les colonnes IDENTITY
Pour les tables avec une colonne INT IDENTITY
(ou BIGINT IDENTITY
), utilisez cette instruction SQL :
<code class="language-sql">INSERT INTO [dbo].[YourTable] ([columns...]) VALUES ([..........]) SELECT SCOPE_IDENTITY();</code>
INSERT
ajoute une nouvelle ligne.SCOPE_IDENTITY()
renvoie la valeur IDENTITY
générée la plus récemment dans l'exécution en cours.Cette méthode fonctionne mieux lors de l'insertion d'une seule ligne par exécution. L'insertion simultanée de plusieurs lignes peut conduire à des résultats imprévisibles.
Bien que SCOPE_IDENTITY()
soit largement utilisé, d'autres options existent :
@@IDENTITY
: renvoie la dernière valeur IDENTITY
générée pour la session en cours, quelles que soient les opérations ultérieures dans d'autres sessions ou étendues.IDENT_CURRENT('table_name')
: récupère la prochaine valeur IDENTITY
planifiée pour l'affectation dans la table spécifiée. Il ne s'agit pas de l'ID de la dernière ligne insérée et peut différer.Pour une comparaison détaillée de ces méthodes et de leurs différences subtiles, reportez-vous à cet article perspicace de Pinal Dave : https://www.php.cn/link/c89f28fe875efcf36c8973a7f81bfbb0
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!