PrimKey bei INSERT- Anweisung zurückgeben (autoincrement)

Ihr habt eine solche Frage vermutlich schon 1000x beantwortet, aber irgendwie finde ich im Netz nix :frowning:

Also: ich habe eine Insert-Anweisung bei der ein autoincrement-Key erzeugt wird und möchte nachd er INSERT-Anweisung wissen, welcher Primary Key benutzt worden ist!


thx4help

Mit autoincrement bist du hier falsch, das ist Mysql-Spielzeug.

Falls du Sequenzen meinst, dann wäre der passende Befehl:

SELECT curr_val(‘seq_name’);

erstmal danke!

Ich meinte natürlich Sequenzen!

Ich hoffe, ich interpretiere richtig:

SELECT curr_val('seq_name');

gibt den Schlüssel an, der als nächstes benutzt wird, das heißt, wenn ich (wie oben beschrieben) NACH der INSERT-Operation den letzten Schlüssel haben möchte, so sollte ich die o.g. Select-Anweisung VOR der Insert-Anweisung machen und den Key speichern, oder?

Nein, curr_val steht für current_value und liefert dir den aktuellen Wert der Sequence. Mit der Einschränkung, das du in deiner aktuellen Verbindung schon mal einen Wert erzeugt haben musst.

Das Gegenstück heisst next_val und liefert den nächsten Wert, woraufhin dann curr_val folgerichtig genau den Wert immer wieder liefert, den next_val erzeugt hat.

Setzen kann man die Werte mit set_val und die Dokumentation zu den Sequencen auf der PG HP ist da sehr ausführlich.

danke an ads!!!

ich hab nur 15min gebraucht, um herausfinden dass es nicht

curr_val

, sondern

currval

heißt!!! :roll:


thx

Grummel my fault.

Aber auch hier hätte ein Blick in die Doku geholfen :wink: