Avatar billede supermand69 Nybegynder
02. april 2005 - 21:20 Der er 17 kommentarer og
1 løsning

slette de nyeste og behold den ældste

hvordan kan jeg slette noget fra en table hvor jeg vil beholde den ældste og slette de nyeste rækker?
Avatar billede bromer Nybegynder
02. april 2005 - 21:22 #1
Det kræver at du har et felt af typen datetime hvor du sætter dato med tidspunkt ind får du indsætter en række.
Avatar billede supermand69 Nybegynder
02. april 2005 - 21:27 #2
har jeg også gjort :)
Avatar billede supermand69 Nybegynder
02. april 2005 - 21:29 #3
eller hov... jeg har bare en INT(10) med mine timestamps
Avatar billede bromer Nybegynder
02. april 2005 - 21:33 #4
Hvis du kun vil have den ældste kan du gøre dette

SELECT <primær nøgle> FROM <tabel> ORDER BY tidspunkt LIMIT 1

DELETE FROM <tabel> WHERE id <> <funde værdi fra før>
Avatar billede supermand69 Nybegynder
02. april 2005 - 21:43 #5
bliver lidt forvirret af alle de <>

skal det være sådan?

SELECT id FROM table ORDER BY time LIMIT 1
DELETE FROM table WHERE id <> 254
Avatar billede bromer Nybegynder
02. april 2005 - 21:43 #6
Ja, hvis 254 er det id du får fra første select
Avatar billede supermand69 Nybegynder
02. april 2005 - 21:52 #7
hvordan skal man så lave din DELETE hvis man har følgende id's som ikke skal slettes: 3, 254, 548
Avatar billede bromer Nybegynder
02. april 2005 - 21:53 #8
DELETE FROM table WHERE id <> 3 AND id <> 254 AND id <> 548
Avatar billede supermand69 Nybegynder
02. april 2005 - 22:02 #9
kan man ikke lave en IN(3,254,548) ??
Avatar billede bromer Nybegynder
02. april 2005 - 22:05 #10
indeed
Avatar billede supermand69 Nybegynder
02. april 2005 - 22:16 #11
jeg har så min select her... men hvordan kan jeg gøre således at jeg får trukket de seneste ud? skal jeg bare lave en ORDER BY?

SELECT id
FROM $DB.post
WHERE user_id2=1 && thread_id>0
GROUP BY thread_id
Avatar billede bromer Nybegynder
02. april 2005 - 22:44 #12
hvorfor laver du en group by thread_id? Prøv at forklar hvad formålet med din query egentlig er
Avatar billede supermand69 Nybegynder
02. april 2005 - 23:04 #13
Det er til et post system. Der vil så komme en notifikations post hvis der bliver lavet et indlæg i en tråd i et debat forum, men for at man ikke skal blive bombareret med posts for hver eneste nye indlæg i en tråd skal jeg have lavet en funktion der skal reducere disse notifikations posts... Det skal være således at det er den første notikations post der bliver gemt :)
Avatar billede bromer Nybegynder
02. april 2005 - 23:18 #14
Er det så ikke lettere at undersøge hvorvidt posten allerede findes i database før den blvier sat ind når folk poster noget?
Avatar billede supermand69 Nybegynder
02. april 2005 - 23:35 #15
jo, men kommer det ikke til at tage en masse resourcer idet man skal undersøge alle de ting?
Avatar billede bromer Nybegynder
02. april 2005 - 23:36 #16
nej det vil være den klart bedste metode
Avatar billede supermand69 Nybegynder
02. april 2005 - 23:40 #17
ok :)

lav et svar...
Avatar billede bromer Nybegynder
02. april 2005 - 23:41 #18
yesh yesh
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester