Avatar billede htx98i17 Professor
07. januar 2002 - 21:22 Der er 8 kommentarer og
1 løsning

Delete i tabel med 43.000 poster

Jeg har 2 tabeller
tblsites med feltet time (mysql timestamp) og feltet sid (phpsessid) og feltet id
tblorders med feltet sid (phpsessid) og feltet id

Tabellen tblsites indeholder 43.000 poster godt og vel og dem skal jeg have ryddet op i.
Derfor vil jeg slette alle poster i tblsites, pånær MIN(tblsites.time) og MAX(tblsites.time) hvor tblsites.sid = tblorders.sid (hvor tblsites.sid findes i tabellen tblorders)

Jeg har selvfølgelig selv rodet med det og det har drillet ufattelig meget, så nu spørger jeg jer.
Hvordan vil I foreslå at den SQl skal se ud?
Avatar billede gimmy Nybegynder
07. januar 2002 - 21:28 #1
Noget i den stil?
DELETE FROM tblsites WHERE tblsites.sid = tblorders.sid && NOT MIN(tblsites.time) && NOT MAX(tblsites.time)
Avatar billede htx98i17 Professor
07. januar 2002 - 21:40 #2
ja så vil den have en GROUP BY og det har jeg så forsøgt, men den siger så Invalid use of group function. jeg tror ik man kan bruge MIN og MAX på den måde...
Avatar billede morw Nybegynder
07. januar 2002 - 21:40 #3
gimmy> Mener ikke du kan joine i en DELETE
Avatar billede morw Nybegynder
07. januar 2002 - 21:42 #4
Du blive nødt til at lave en select først, da for at finde id\'ene

Derefter

DELETE FROM tblsites WHERE id IN (1,2,5,7,9)
Avatar billede gimmy Nybegynder
07. januar 2002 - 21:42 #5
møj ;)
Avatar billede morw Nybegynder
07. januar 2002 - 21:42 #6
Normalt ville man bruge subselects til denne opgave, men det kommer først i 4.0?
Avatar billede htx98i17 Professor
07. januar 2002 - 21:44 #7
morw ->dvs jeg laver en select der finder de id\'er som skal gemmes! og så siger jeg
DELETE FROM tblsites WHERE id NOT IN (1,3,6,8,9)
kan man sige NOT IN ?
Avatar billede morw Nybegynder
07. januar 2002 - 21:45 #8
ja NOT IN er ok
Avatar billede htx98i17 Professor
07. januar 2002 - 22:20 #9
jeg skal nok huske at vende tilbage...
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