Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - INSERT in MySQL DB id (auto increment) zückgeben lassen


Realnub - Mo 21.04.08 13:04
Titel: INSERT in MySQL DB id (auto increment) zückgeben lassen
hallo, ich speichere einen datensatz in einer mysql datenbank. die id wird per auto increment quasi automatisch ermittelt, gibt es eine einfache möglichkeit, die id zurückzubekommen wenn das insert ausgeführt wird? oder muss ich den weg über ein select gehen bzw. die id manuell vergeben.


JüTho - Mo 21.04.08 14:30

MySql bietet laut Dokumentation [http://dev.mysql.com/doc/refman/5.1/de/myodbc-usagenotes-functionality.html] u.a. folgende Möglichkeit:

SQL-Anweisung
1:
2:
INSERT INTO tbl (auto,text) VALUES(NULL,'text');
SELECT LAST_INSERT_ID();

Vielleicht bietet Dein DbProvider einen direkten Weg. Da aber ein Insert über einen "normalen" DbCommand ausgeführt wird und dieser für beliebige Arten von Sql-Befehlen genutzt wird, halte ich das für unwahrscheinlich.
Außerdem habe ich in einem anderen Forum den Hinweis auf MySqlCommand.LastInsertedId gefunden, siehe Doku zum MySql Connector.

Jürgen


Realnub - Di 22.04.08 17:55

Danke

das funktioniert perfekt und ja ich habe den Wink mit dem Zaunpfahl verstanden :)