JAVA avec SQL: la valeur de retour de la commande d'insertion?

J'ai une table des auteurs : authorID, authorName.
authorID est un pk avec incrément automatique.

Je voudrais écrire une méthode en java qui reçoit un nom d'utilisateur et l'ajoute à la table. cependant j'ai besoin de retourner l'id de l'auteur. est-il un moyen de le faire avec 1 instruction sql?

par exemple si mon code a la commande:

stmt.executeUpdate("INSERT INTO authors " + "VALUES (, '"+ string.get(1) +"')");

quelle chaîne de caractères.(1) est le nom de l'auteur.

Maintenant, si j'écris:

ResultSet rs =stmt.executeUpdate("INSERT INTO authors " + "VALUES (, '"+ string.get(1) +"')");

il est dit d'erreur que le rs est resultset mais la valeur retournée est de type int. est-ce int le pk de la ligne que j'ai inséré?

  • Non, le nombre de lignes qui ont été modifiés suivant votre requête. Une clé primaire n'est pas toujours un simple entier, vous le savez.
  • int est le nombre de lignes affectées signifie que si vous avez exécuté un insert puis int sera de 1.
  • d'où vient string.get(1) viennent? Gardez Little Bobby Tables dans votre esprit!
  • OKI thx, mais je ne sais toujours pas si je peux insérer la ligne et obtenir pk avec 1 sql de tresorerie?
  • Vous pouvez. Le code que j'ai posté ci-dessous fonctionne.
  • Il est extrêmement facile de découvrez par vous-même.

InformationsquelleAutor jeff ranz | 2013-01-09