MySQL letzt AUTO INCREMENT ID erhalten: Unterschied zwischen den Versionen
Aus Byte-Welt Wiki
Zur Navigation springenZur Suche springenK (→Java) |
K |
||
Zeile 1: | Zeile 1: | ||
− | Oft wird die letzte ID eines [[INSERT (SQL) | Inserts]] benötigt | + | 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. | ||
− | < | + | <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)); | ||
− | </ | + | </syntaxhighlight> |
− | |||
[[Kategorie:Java Verschiedenes]] | [[Kategorie:Java Verschiedenes]] | ||
+ | [[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));