Holla,
hab da folgendes Problemchen:
msgid | senderid | recipientid | sendtime ..... usw
So sieht meine Tabelle mit MSG´s aus. Jetzt würde ich gerne von jedem die neusten 30 MSG´s behalten und den rest löschen ( User können dann anhand der "recipientid" verglichen werden )
Mein Ansatz sieht so aus:
my $sth = $dbh->prepare(q{DELETE FROM message WHERE recipientid=? LIMIT 30}) || die "Anweisung kann nicht vorbereitet werden: $DBI::errstr";......
Er löscht jetzt auch die MSG´s bis auf die letzten 30. Allerdings heisst das noch lange nicht dass es die NEUSTEN 30 sind. Denn wenn man in der Zwischenzeit die Tabelle nach einem anderen Kriterium sortiert hat, ist es dahin mit der Zeitlichen Ordnung :-(
Deshalb meine Frage: Wie kann ich das in das Statement mit einbauen , dass er den sendtime - Zeitstempel mit berücksichtigt ??
Bin für jeden Tipp dankbar.
Vielen Dank im voraus
MfG
AndreasN