[MySQL 4.1.15] Tabelleninhalt (Teilstring) als vergleichenden Wert benutzen

preko

Erfahrenes Mitglied
Hi,

ich habe eine MySQL Tabelle ('terminplan'), die sieben Tabellenzellen hat mit UNIX-Zeitstempel Strings, z. B.:

Termin 1 = 1178519400,1180998000
Termin 2 = 1181111400,1184626800
Termin 3 = 1184740200,1187046000
Termin 4 = 1187159400,1189465200
Termin 5 = 1189578600,1192143600
Termin 6 = 1192143700,1194852400
Termin 7 = 1194852600,1195430400

Der erste Wert vor dem Komma definiert den Start-, der Wert nach dem Komma den dazu passenden Endtermin (ich weiß, Normalisierung ist eine feine Sache, wenn man nicht Sachen übernimmt, die andere Programmiert haben) ;).

Ich möchte nun einen automatischen Löschalgorhythmus erstellen, der bei Aufruf der Darstellungsseite automatisch vorab veraltete Datensätze löscht, in denen der (End-) Timestamp des Termines Nr. 7 kleiner ist als der aktuelle Timestamp.

Ich würde mir so etwas in der Richtung wie die folgende Anweisung wünschen (ich weiß, dass es nicht funktioniert - aber vielleicht habt Ihr ja eine Idee):

PHP:
$today = substr(microtime(), 11, 20);
...
DELETE FROM
                       'terminplan'
WHERE
                       substr($termin7, 11, 20) < '$today';
LIMIT 
                       '1'
...

Das Problem, das ich habe ist, dass die Endtermine vorher ausgelesen werden müssten, damit ich sie als WHERE Klausel benutzen kann.

Ich hatte überlegt, eventl. eine Abfrage vorab laufen zu lassen, die Endtermine in ein Array zu extrahieren und dann in einer Löschabfolge "abarbeiten" zu lassen, allein der richtige Zugang fehlt mir irgendwie. Die bisherigen Versuche waren leider nicht von Erfolg gekrönt.



Beste Grüße,

preko
 
Zuletzt bearbeitet:
Hi,

ich habe das ganze so gelöst, dass ich bei der Eingabemaske der Termine den zweiten Teilstring des 7. Termines zusätzlich in eine neu angelegte Spalte mit der Bezeichnung "Ende" schreibe und diese dann für die vergleichende Abfrage der zu löschenden Datensätze benutze.

Da sich das Datenaufkommen dieser Tabelle im Bereich von max. 20 - 30 Neueinträgen/Monat bewegt, ist dies nicht der Rede wert (war auch die schnellste Möglichkeit die Anforderung zu erfüllen).


Beste Grüße,
preko
 
Zurück