SQL INSERT INTO retour champ autoincrement
Je suis un long moment de l'application bureau programmeur C++ nouveau à SQL. J'ai besoin d'insérer dans une table avec un autoincrment champ, et l'instruction sql de retour à la nouvelle valeur du champ autoincrement.
Quelque chose COMME:
INSERT INTO Entrys ('Name','Description')
VALUES ('abc','xyz')
SELECT Entrys.EntryID WHERE EntryID=[THE ONE JUST INSERTED!]
Désolé d'être un noob.
la base de données que vous utilisez? SQL Server, MySQL, etc?
OriginalL'auteur Joshua | 2009-12-30
Vous devez vous connecter pour publier un commentaire.
Dans MySQL, vous pouvez utiliser
LAST_INSERT_ID()
OriginalL'auteur Brian Young
sélectionnez scope_identity
Détails ici
OriginalL'auteur Gabe
En supposant que vous êtes à l'aide de SQL Server, vous pouvez utiliser scope_identity de retour de "l'identité dernière valeur insérée dans une colonne d'identité dans le même champ d'application. Une portée est un module: procédure stockée, le déclencheur, la fonction ou le lot. Par conséquent, deux instructions sont dans le même champ d'application que si ils sont dans la même procédure stockée, une fonction, ou un lot."
OriginalL'auteur Adam Porad
Dans SQL Server, vous pouvez également utiliser la clause OUTPUT sur votre instruction INSERT:
Ce sera la sortie de l'IDENTITÉ nouvellement créé valeur de champ.
OriginalL'auteur marc_s
@Marc_s dit pour SQL Server, PostgreSQL, vous pouvez obtenir le même comportement avec:
De RETOUR est également très utile lorsque vous êtes à l'insertion de plusieurs tuples et vous voulez que tous les Id générés pour chacune des lignes.
OriginalL'auteur fcr