Avatar billede kaptajnknas Nybegynder
26. august 2004 - 19:11 Der er 7 kommentarer og
1 løsning

Slette poster i MySQL

Hejsa.

Hvordan kan jeg slette poster i min database, hvis der kommer mere end 1000 ?
Avatar billede arne_v Ekspert
26. august 2004 - 19:19 #1
Afhænger meget af efter hvilket kriterie du vil slette !
Avatar billede eagleeye Praktikant
26. august 2004 - 19:25 #2
Eksemple som slette de ældste:

SQL = "SELECT id FROM tabel ORDER BY id DESC LIMIT 1000,1"
set rs=conn.execute(SQL)
if not rs.EOF then
  SQL = "DELETE FROM tabel WHERE id < " & rs("id")
  Conn.Execute(SQL)
end if
Avatar billede kaptajnknas Nybegynder
26. august 2004 - 19:47 #3
Det virker fint :-)
Men hvad betyder LIMIT 1000,1  <--- ,1 hvad gør det?
Avatar billede eagleeye Praktikant
26. august 2004 - 19:53 #4
1000 betyder en starter med at hente fra post nr 1000, 1 tallet betyder den kun henter 1 post
Avatar billede eagleeye Praktikant
26. august 2004 - 19:56 #5
Når det skulle hvade være et svar :)

Hvis du kender til Access virker 1 tallet som TOP 1 gør. MySQL limit er noget mere smart end TOP da den tager to parametre: start, antal  hvorimod TOP kun tager antal.
Avatar billede kaptajnknas Nybegynder
26. august 2004 - 19:59 #6
Okay, meget fint.
Men jeg ser lige at diskforbruget ikke falder efter at jeg har indsat scriptet og fået rydet op i databasen (slettet omkring 90000 poster).
Vil det sige at MySQL ikke frigør diskplads efter en post bliver slettet?
Avatar billede eagleeye Praktikant
26. august 2004 - 20:28 #7
Så må du ind og lave en Optimize table på tabellen:
http://dev.mysql.com/doc/mysql/en/OPTIMIZE_TABLE.html
Avatar billede kaptajnknas Nybegynder
26. august 2004 - 20:39 #8
OK- mange tak, jeg kigger på det :-)
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
Kurser inden for grundlæggende programmering

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