SQL/PHP > Feste Reihennummer?

l0c4lh05t

Erfahrenes Mitglied
Hallo,
mal kurz ne kurze Frage, die ich hier stellen muss, da ich niemanden kenne der mir das via Instant Messenger sagen könnte :(

Wenn ich folgende Tabelle habe (Imagination ist gefragt ^^):

Wohnung | Toiletten
---------------|--------------
3 | 1
13 | 5
5 | 2

... jetzt möchte ich immer die letzte Reihe auslesen, die sich aber auch ab und zu verändert.

(Habe es schonmal mit auto_increment versucht habe es aber nicht geschafft.)
Danke
 
Zuletzt bearbeitet:
Normalerweise hast du zusätzlich eine Indexspalte die per auto increment immer um einen erhöht wird und eindeutig ist, nach dieser kannst du dann absteigend sortieren und die erste Zeile ist das der zuletzt erstellte Datensatz.

Greetz...
Sinac
 
Du hast ja noch ein Datumsfeld hinzufügen.
Und immer einen Timestamp dort eintragen.
Danach kannst du ja das aktuellste selektieren.
 
also wenn du keinen Primärschlüssel brauchst, dann musst du halt die Spalte beim SELECT-Statement mit angeben:
SQL:
SELECT toiletten FROM tabelle;
 
also wenn du keinen Primärschlüssel brauchst, dann musst du halt die Spalte beim SELECT-Statement mit angeben:
SQL:
SELECT toiletten FROM tabelle;

Und wie soll er mit dieser Abfrage den letzten erstellten Datensatz abfragen? Ohne Primärschlüssel oder Timestamp schwer möglich oder verstehe ich dich falsch?
Normalerweise würde das Ganze ja so aussehen:

SQL:
SELECT id,toiletten FROM tabelle ORDER BY id DESC LIMIT 0,1

Damit erhält er den zuletzt erstellten Datensatz.

@Tobee:
Ich glaube eine Id ist in diesem Fall angebrachter als ein Timestamp, da wahrscheinlich egal wann der Datensatz erstellt wurde, wichtig ist nur in welcher Reihenfolge.

Greetz...
Sinac
 
Zuletzt bearbeitet:
Ja, da habe ich aber nur ein Problem: Wenn ich sagen wir mal vier Einträge habe (das Beispiel mit den Toiletten...)

ToilettenID | Wohnung | Toiletten
1 | 3 | 1
2 | 4 | 2
3 | 5 | 2
4 | 1 | 4

und dann manuell via PHPmyAdmin die T-ID 2 lösche, dann wird 3 nicht zu 2 und 4 nicht zu 3... oder geht das irgendwie?
 
neija es ist im prinzip doch egal ob lücken entstehen, dass stört das ORDER BY doch nicht.
ansonsten kannst du natürlich mit nem:
Code:
UPDATE `toiletten` SET `id`=`id`-1 WHERE `id`>2
die lücken wieder entfernen, aber das ist eigentlich nicht nötig und auch nicht sehr klug, den primären index zu ändern, nee, das kostet viel rechenzeit, sehr viel
 
Thx!

neija es ist im prinzip doch egal ob lücken entstehen, dass stört das ORDER BY doch nicht.
ansonsten kannst du natürlich mit nem:
Code:
UPDATE `toiletten` SET `id`=`id`-1 WHERE `id`>2
die lücken wieder entfernen, aber das ist eigentlich nicht nötig und auch nicht sehr klug, den primären index zu ändern, nee, das kostet viel rechenzeit, sehr viel

Nein, das ist echt gut! Darauf wäre ich (ganz ehrlich) nicht gekommen DANKE!! !:eek:
 
Zurück