MySQL letzt AUTO INCREMENT ID erhalten: Unterschied zwischen den Versionen

Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springen
K (Java)
K
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
Oft wird die letzte ID eines [[INSERT (SQL) | Inserts]] benötigt, da [[MySQL]] das [[AUTO_INCREMENT (MySQL) | AUTO_INCREMENT]] besitzt muss man sie nicht selbst setzen und kennt sie daher auch nicht. Um sie zu erhalten gibt es verschiedene Wege, die von der Sprache abhängen.
+
Oft wird die letzte ID eines [[INSERT (SQL) | Inserts]] benötigt. Da [[MySQL]] das [[AUTO_INCREMENT (MySQL) | AUTO_INCREMENT]] besitzt, muss man sie nicht selbst setzen und kennt sie daher auch nicht. Um sie zu erhalten gibt es verschiedene Wege, die von der Sprache abhängen.
  
 
==Java==
 
==Java==
 
Mit [[Java]] gibt es die Möglichkeit, über das Ergebnis des Inserts.
 
Mit [[Java]] gibt es die Möglichkeit, über das Ergebnis des Inserts.
<code=java>
+
<syntaxhighlight lang="java">
 
Statement stmt = connection.createStatement();
 
Statement stmt = connection.createStatement();
 
stmt.executeUpdate("INSERT INTO test VALUES ('a')");
 
stmt.executeUpdate("INSERT INTO test VALUES ('a')");
Zeile 9: Zeile 9:
 
res.next();
 
res.next();
 
System.out.println(res.getInt(1));
 
System.out.println(res.getInt(1));
</code=java>
+
</syntaxhighlight>
  
[[Kategorie:Java]]
+
[[Kategorie:Java Verschiedenes]]
[[Kategorie:Java Grundlagen]]
+
[[Kategorie:Java-Codeschnipsel]]
 
[[Kategorie:MySQL]]
 
[[Kategorie:MySQL]]

Aktuelle Version vom 28. März 2018, 08:29 Uhr

Oft wird die letzte ID eines Inserts benötigt. Da MySQL das AUTO_INCREMENT besitzt, muss man sie nicht selbst setzen und kennt sie daher auch nicht. Um sie zu erhalten gibt es verschiedene Wege, die von der Sprache abhängen.

Java

Mit Java gibt es die Möglichkeit, über das Ergebnis des Inserts.

Statement stmt = connection.createStatement();
stmt.executeUpdate("INSERT INTO test VALUES ('a')");
ResultSet res = stmt.getGeneratedKeys();
res.next();
System.out.println(res.getInt(1));