phpbar.de logo

Mailinglisten-Archive

[php] AW: [php] Erste Zeile einer MySQL-Datenbank

[php] AW: [php] Erste Zeile einer MySQL-Datenbank

Christian Victor victor_(at)_mediapeople.de
Wed, 1 Dec 1999 12:17:47 +0100


Das Problem dabei ist, dass ich das "erste" Element auslese und dann sofort
lösche. Wenn ich also einen Index verwende dann lese ich beim ersten mal
"id=1" aus und lösche dann "id=1". Wenn ich jetzt beim 2. Aufruf wieder nach
"id=1" suche kriege ich natürlich eine Fehlermeldung.

Die auslesen/löschen Aktionen erfolgen zu unterschiedlichen Zeiten. Mit
einer Zählschleife oderso ist es also auch nicht getan.

Gibt es vielleicht eine Möglichkeit nach dem kleinsten "id" zu selektieren?
Oder sollte ich ORDER BY id LIMIT 1 verwenden? Kommt mir auch unelegant vor
weil ja immer die ganze Datenbank (ca. 50.000 Einträge) durchsucht werden
muss.

Christian

-----Ursprüngliche Nachricht-----
Von: php-admin_(at)_solix.wiso.Uni-Koeln.DE
[mailto:php-admin_(at)_solix.wiso.Uni-Koeln.DE]Im Auftrag von Ulf Wendel
Gesendet am: Dienstag, 30. November 1999 15:21
An: php_(at)_solix.wiso.Uni-Koeln.DE
Betreff: Re: [php] Erste Zeile einer MySQL-Datenbank

Christian Victor wrote:
> $rs=mysql("user","SELECT * from tabelle LIMIT 1");
>
> Diese halte ich aber nicht für sehr elegant. Leider ist immer eine andere
> Zeile an erster Stelle, daher kann ich keine ID oderso verwenden.

Christian,

ich weiß zar nicht genau waas Du meinst, aber ich vermute mal Du
willst den zuletzt eingefügten Wert. Da eine Datenbank kein Stack
ist, gibt es keine Garantie für "kommt ja so raus, wie es
reinfliegt".

Du brauchst ein sinnvolles Ordnungskriterium in den Daten. Dabei
ist es egal ob es sich auf natürliche Weise aus den Datem ergibt,
oder künstlich angelegt werden muß. Verwende z.B. ein changed
Feld mit timestamp(14). Dann kannst Du auch das "letzte/erste"
Element sicher greifen.

Wenn die Reihenfolge der Daten bei der Einfügung relevant ist und
die Einfügung praktisch zeitgleich erfolgt, lege um Himmels
Willen einen (Primary) Key (mit auto_increment) an. Danach kannst
Du sauber sortieren.

Ulf

--
Ulf Wendel
NetUSE Kommunikationstechnologie GmbH
Siemenswall, D-24107 Kiel, Germany
Fon: +49 431 386435 00  --  Fax: +49 431 386435 99

--
** Durchgehend geöffnet: http://www.php-center.de **
Die PHP-Liste: mailto:php_(at)_infosoc.uni-koeln.de
http://infosoc.uni-koeln.de/mailman/listinfo/php



php::bar PHP Wiki   -   Listenarchive