Spar senaste 500 radera resten

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Nuppan



Medlem i: 694 dagar

Status: Offline



#740307
Inlägg Skrivet: 2016-01-19 14:00      Ämne: Spar senaste 500 radera resten Citera

Försöker att radera äldre logins men hur ska det igentligen se ut?

KOD:
1:
 
2:
$deleteIP = $conn->query("DELETE FROM iplogg WHERE time NOT IN (SELECT TOP 500 time FROM iplogg ORDER BY time DESC)");
3:
$conn->query($deleteIP);
4:
 
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Nuppan



Medlem i: 694 dagar

Status: Offline



#740324
Inlägg Skrivet: 2016-01-20 17:51      Ämne: re: Citera

Fick det att fungera med följande kod.

KOD:
1:
 
2:
$result=$conn->query("select id from logins order by id desc");
3:
$res=$result->fetch_array();
4:
$id=$res[0]-500;
5:
$conn->query("delete from logins where id < $id");
6:
 
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Koenigsegg



Medlem i: 3200 dagar

Status: Offline



#740332
Inlägg Skrivet: 2016-01-21 22:52      Ämne: Citera

Den koden kräver att id stegar uppåt, utan avbrott. Det kan i och för sig gå. Men är det verkligen loggrader som är bland de 500 senaste som du vill radera? Inte särskilt skalbart Wink.. Eftersom du har en kolumn som heter time(kanske inte ett jättebra namn, det ordet är lite "halv-reserverat") så kan du väl göra det lätt för dig?
KOD:
1:
DELETE FROM logins WHERE time<UNIX_TIMESTAMP()-60*60*2

..eller hur du nu vill ha det. DATE_SUB() kan kanske också vara användbart. Eller så räknar du ut tidpunkten i PHP. Eller så..

Då fungerar det oavsett hur många användare du har Smile.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande MSN Messenger
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic