Discussion:
Insert statement ID zurückgeben lassen
(zu alt für eine Antwort)
Jan Meier
vor 19 Jahren
Permalink
Hallo,

ich habe eine Tabelle da befindet sich eine Spalte die vom typ
"int not null auto_increment" ist.

Nun mache ich ein Insert-Statement:

INSERT INTO blah VALUES (0,...);

Gibt es eine Möglichkeit die dadurch automatisch generierte ID sich
zurückgeben zu lassen? Zurzeit mache ich das mit einer Zweiten query:

SELECT id FROM blah WHERE ...

Ist dies die beste Möglichkeit oder gibt es da noch etwas besseres?

Gruß
Jan
Axel Schwenke
vor 19 Jahren
Permalink
Post by Jan Meier
ich habe eine Tabelle da befindet sich eine Spalte die vom typ
"int not null auto_increment" ist.
INSERT INTO blah VALUES (0,...);
Mööp. Wenn du einen Wert per AUTO_INCREMENT generieren willst, übergib
den Wert NULL oder laß die Spalte in der Spaltenliste gleich weg.

Es ist allgemein empfohlen, INSERTs mit Spaltenliste zu schreiben:
INSERT INTO <table> (<columns>) VALUES (<values>)

Dadurch vermeidest du unbemerkte Fehler, wenn sich deine Tabellen mal
ändern und du vergißt die INSERTs anzupassen.
Post by Jan Meier
Gibt es eine Möglichkeit die dadurch automatisch generierte ID sich
zurückgeben zu lassen?
LAST_INSERT_ID()
http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html


XL
Jan Meier
vor 19 Jahren
Permalink
Post by Axel Schwenke
Post by Jan Meier
ich habe eine Tabelle da befindet sich eine Spalte die vom typ
"int not null auto_increment" ist.
INSERT INTO blah VALUES (0,...);
Mööp. Wenn du einen Wert per AUTO_INCREMENT generieren willst, übergib
den Wert NULL oder laß die Spalte in der Spaltenliste gleich weg.
INSERT INTO <table> (<columns>) VALUES (<values>)
Okay, werde ich in Zukunft so machen, danke für den Tip.
Post by Axel Schwenke
Dadurch vermeidest du unbemerkte Fehler, wenn sich deine Tabellen mal
ändern und du vergißt die INSERTs anzupassen.
Post by Jan Meier
Gibt es eine Möglichkeit die dadurch automatisch generierte ID sich
zurückgeben zu lassen?
LAST_INSERT_ID()
http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html
Ja danke, das hat geholfen. :)

Gruß
Jan

Philipp Tölke
vor 19 Jahren
Permalink
Post by Jan Meier
Gibt es eine Möglichkeit die dadurch automatisch generierte ID sich
SELECT id FROM blah WHERE ...
Ist dies die beste Möglichkeit oder gibt es da noch etwas besseres?
Ja.

Grüße,
--
Philipp Tölke
PGP: 0x96A1FE7A
Loading...