Récupérer l'identifiant de l'enregistrement simplement inséré dans une base de données Java DB (Derby)
Je me connecte à une base de données Java DB avec JDBC et souhaitez récupérer l'id (qui est en auto increment) du dernier enregistrement inséré.
Je vois souvent cette question, mais je vois solutions utilisant, par exemple, MS SQL Server, ce qui est l'équivalent pour Java DB?
source d'informationauteur Kryptic
Vous devez vous connecter pour publier un commentaire.
Pas besoin d'utiliser un SGBD SQL spécifique pour cela.
C'est ce que getGeneratedKeys() est pour.
Quand la préparation de votre déclaration vous passez le nom de(s) auto-généré colonnes que vous pouvez ensuite récupérer à l'aide de getGeneratedKeys()
Vous pouvez être en mesure d'obtenir ce que vous recherchez à l'aide de la IDENTITY_VAL_LOCAL fonction. (Derby De Référence)
Cette fonction est supposée retourner "le plus récemment affecté la valeur d'une colonne d'identité pour une connexion, lorsque la cession eu lieu à la suite de l'INSERTION d'une seule ligne de déclaration à l'aide d'une clause values."
Il est intéressant de noter que cette fonction sera de retour DÉCIMAL(31,0), quel que soit le type de données correspondant à la colonne d'identité.
Aussi, ce seulement travaille pour un seul insertions de lignes qui contiennent une clause values.