Postgresql letzten ID Wert

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Peter1977
User
Beiträge: 86
Registriert: Mittwoch 4. September 2013, 14:59

Hallo,

wie kann ich bei einer Postgresql DB in einer Tabelle den letzten vergebenen ID Wert eines Primary Key herausfinden?

Der ID Wert wird in der Tabelle über eine Sequence vegeben.


mfg Peter
Benutzeravatar
ngulam
User
Beiträge: 35
Registriert: Freitag 18. Oktober 2013, 11:03

Entweder "klassisch" mit

Code: Alles auswählen

SELECT MAX('id') FROM 'table';
oder mit der speziell vorgesehenen Funktion

Code: Alles auswählen

currval()
Hilft Dir das?
งูหลาม
BlackJack

Wobei man bei beiden Wegen bedenken muss, dass während man sich freut diese Zahl als Ergebnis bekommen zu haben, natürlich die nächste vergeben werden kann.

@Peter1977: Was willst Du mit der Information denn anfangen?
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@Peter1977: nachdem der INSERT-Befehl ausgeführt wurde, enthält »lastrowid« des Cursor-Objekts den dabei vergebenen Primary-Key.
Peter1977
User
Beiträge: 86
Registriert: Mittwoch 4. September 2013, 14:59

@ngulam, @Sirius3:

Danke hilft weiter.

@BlackJack:

Ich habe eine Tabelle "werkzeug"

Spalten: werkzeug_id, ap, ae, durchmesser, max_tiefe, schneiden, bezeichnung, eintauchen, eintauchwinkel, bild

Eine zweite Tabelle "werkzeug_ersatz"

Spalten: werkzeug_ersatz_id, werkzeug_id, katalog_id, menge

Es wird ein Werkzeug angelegt in der werkzeug tabelle danach wird / kann ein bild und / oder die ersatzteile hinzugefügt werden.

Wenn dieses Werkzeug jetzt doppelt vorkommt soll es dann nur durch auswahl der werkzeuges und einen druck auf einen Button kopiert werden können.

Gleichzeitig ist die werkzeug_id gleich der Ident nummer die am Werkzeug angebracht wird daher jedes Werkzeug besitzt eine eigene Identnummer.

Hier beim schreiben kommt mir auch die Idee einer Referenz tabelle

Tabelle werkzeug und werkzeug_ersatz bleiben so
die Tabelle werkzeug_referenz
hat die Spalten referenz_id, werkzeug_id, ident=referenz_id

mfg Peter
Antworten