André Laugks: + [MySQL]: neuen Datensatz ganz oben einfügen

Beitrag lesen

Hallo!

...Wie kann ich einen neuen Eintrag (via PHP) in eine Datenbanktabelle (MySQL) machen, so dass dieser ganz oben steht?

Datensätze können in einer Datenbank/Tabelle nicht ganz am Anfang oder ganz am Ende oder irgendwo mitten drin eingefügt werden. Die Datenbank packt sich den Datensatz "dort hin", wo es am besten passt. Auf der Festplatte werden Daten auch dort hingepackt, wo Platz ist. Du findest die Daten wieder, weil Du sie in einen Ordner gepackt hast und den Daten (z.B. Datei) ein Namen vergeben hast.

Du kannst Dir die Datensätze über bestimmte Kriterien ausgeben lassen. Das legst Du mit dem SQL-Statement fest.

Einen bestimmten Datensatz, kannst Du nur über eine eindeutige ID wiederfinden. Du hast sonst keine andere Möglichkeit einen bestimmten Datensatz zu "lokalisieren".

Wie kannst Du nun einen Datensatz ganz nach "oben" packen?

Du gibst jedem Datensatz ein Datum und Zeit mit auf den Weg, am besten das aktuelle Datum und aktuelle Zeit. Dazu legst Du eine Spalte an, da wählst Du am besten DATETIME. Du könntest auch TIMESTAMP nehmen, kommt aber auf Deine Bedürfnisse an. Die Spalte nenne ich jetzt mal "eingetragen". Die Datenbank packt beim INSERT den Datensatz dort hin, wo es ihr am besten passt.

Du holst Dir alle Datensätze aus der Tabelle und sortierst sie absteigent nach der Spalte "eingetragen". Somit steht der zuletzt eingetragene Datensatz ganz oben.

SELECT spalte_1, spalte_2, spalte_n FROm tabelle ORDER BY eingetargen DESC;

Wenn Du eine Spalte hast, in der eine vortlaufende ID geschrieben wird (AUTO_INCREMENT), könnte man auch nach der ID absteigend sortieren, kommt auf das selbe raus,... neue ID ist gleich höchste ID und somit letzter Datensatz.

MfG, André Laugks
L-Andre @ gmx.de