16. januar 2001 - 10:18Der er
4 kommentarer og 3 løsninger
Automatisk sletning af tupler efter dato.
Jeg er fornyligt begyndt på MySQL + PHP og har efterhånden fået en lang liste med spørgsmål. Jeg starter nu fra toppen af:
Jeg er ude efter en snedig måde, at få slettet tupler i en tabel automatisk. I tabellen har jeg en dato-attribut for hvornår tuplen er indsat. Jeg ønsker at få slette tupler automatik, når de er 14 dage gamle. Hvordan gør jeg det på en elegant måde?
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Da du ikke har fortalt datoformatet på datoen i tabellen kan man jo ikke fortælle præcis hvordan du skal gøre, men jeg forudsætter at du har brugt php\'s time() funktion. En måde at sikre at ingen der besøger siden ser ínformationer fra tupler som er mere en 14 dage gammel er at starte siden med ca. følgende:
<? $nu=time(); $sql=\"delete from din_tabel where ($nu-tabel_dato)>14*60*60*24\"; mysql_query($sql); ?> <html>o.s.v.
Dette gør at hver gang siden bliver loadet vil den slette alle poster som er mere end 14 dage gamle inden resten af siden bliver loadet.
Men at køre en \'delete\' i en database hver gang en bruger kigger forbi er totalt overkill. Og bestemt ikke noget man ville få ros for hos en database expert.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.