Josi: Perl + MySQL -> jünger/älter als Datum X

hi!

Wie kann ich bitte mit Perl und MySQL erwirken,
dass alle Einträge in der MySQL-Tabelle "users"
die im Feld "EintragungDatum" ein Datum haben,
das älter ist als der 12.08.2001,
zuerst angezeigt und das automatisch gelöscht werden?

Welcher Feld-Typ muss es sein?
Wie genau geht das?
Gibts ein Script als Beispiel dazu?

tschö & thx
Josi

  1. Hallo Josi,

    bei deinem Problem gehst Du am Besten wie folgt vor:

    1. Alle Einträge in der Datenbank, die älter als das gewünschte Datum sind, in einem Array speichern.
    2. Alle Elemente dieses Arrays durcharbeiten, und zuerst den Eintrag darstellen, und dannach diesen Eintrag löschen.

    Bei dieser Vorgehendweise ist es natürlich hilfreich, wenn deine Datensätze eine eindeutige ID-Nummer haben, mit deren Hilfe Du diese ansprechen kannst.

    Wenn Du Daten aus einer Datenbank löschen möchtest gehe ich davon aus, dass in dieser schon Daten vorhanden sind, und somit auch schon die Feldtypen definiert sind. Für ein Datum kann dies evtl. der Typ DATE sein (es gibt aber auch andere Möglichkeiten z.B. DATETIME oder TIMESTAMP)

    In Perl gehst Du das ganze am Besten mit dem Modul DBI an

    Dokumentation zu den einzelnen Punkten findest Du unter:
    http://dev.mysql.com/doc/mysql/de/SELECT.html
    http://dev.mysql.com/doc/mysql/de/DELETE.html
    http://dev.mysql.com/doc/mysql/de/DATETIME.html
    http://search.cpan.org/~timb/DBI-1.46/DBI.pm
    http://search.cpan.org/~rudy/DBD-mysql-2.9004/lib/DBD/mysql.pm

    Gruß
    Helmut Weber

    --
    -------------------------------------------
    Mode ist eine Variable, Stil eine Konstante