SQL - Frage - increment
Matthias
- datenbank
Hallo,
ich brauche eine Abfrage die mir den nächsten inkrementierten Primärschlüsselwert zurückgibt, der also beim nächsten insert vergeben wird.
Ein einfaches MAX(primärschlüssel) geht nicht, da ja der letzte wert gelöscht worden sein könnte und jede Zahl nur eimal vergeben wird.
Grüße, Matthias
hi,
ich brauche eine Abfrage die mir den nächsten inkrementierten Primärschlüsselwert zurückgibt, der also beim nächsten insert vergeben wird.
wir reden also von mysql?
Ein einfaches MAX(primärschlüssel) geht nicht, da ja der letzte wert gelöscht worden sein könnte und jede Zahl nur eimal vergeben wird.
eine funktion, die den _nächsten_ auto_increment-wert liefert, gibt es m.W. nicht.
gruß,
wahsaga
Hallo,
ja MySql.
Danke, Grüße, Matthias
Hello,
eine funktion, die den _nächsten_ auto_increment-wert liefert, gibt es m.W. nicht.
Es muss eine geben, da phpMyAdmin das auch anzeigt.
Allerdings ist dieser Wert mit Vorsicht zu genießen, da er allen Prozessen gleichermaßen zur Verfügung steht. Man kann ihn im Prinzip nur zur Orientierung benutzen, oder man muss mit Dateisperre arbeiten, den Wert dann auslesen und verwenden und dann die Datei wieder entsperren.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hello,
Wie schon gesagt, nützt Dir diese Abfrage nur etwas, wenn Du mit Dateisperre arbeitest.
Das Kommando Deines Begehrens lautet: "show table status;" und liefert Die alle Statistikwerte aller Tabellen der gesamten Datenbank.
Ich weiß nicht, wie teuer es ist.
Aber wahrscheinlich werden alle Metadaten sowieso im Speicher gehalten.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom