19. januar 2008 - 19:21Der er
23 kommentarer og 1 løsning
kan man slette duplicater i database
Jeg har en database med mere end 300000 indlæg, jeg har netop fundet ud af at jeg har ca 20000 indlæg som er postet 2 eller flere gange ind i databsen, findes der en metode til at rydde op så der kun er et kopi af hver post?
mulighederne er access, sql eller Queryit ( fantastisk program )
ja, bestemt, denne tabel var en af de første access + asp forsøg jeg lavede, og ideen blev en success.. også imod enhver forventning :o)
det var før jeg viste soget om acces.. og derfor ingen unikke felter, det virkede jo :o)
Men ville man kunne indsætte et tal i alle felter som var ens, altså lave en kolonne mere som havde navnet slet og der indsatte 1 hvergang der var mere end en post med samme "navn/id"
Ville man kunne gøre det igennem access ( programmet ) eller kan man også bruge den i forbindelse med MySQL ( er helt ny til SQL ).. eller skal jeg lægge min KÆMPE database op hos min udbyder og lave udtrækket derfra ( er det ikke en kæmpe opgave, og hvad med timeout?? )
har prøvet med en allerede eksisterende tabel ( Table 'FORUM_A_REPLY2' already exists. )
en ikke eksisterende Tabellen findes ikke i databasen ( The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data. )
og en uden nogen felter ( kolonner ) men en helt tom tabel (Table 'FORUM_A_REPLY3' already exists. )
Jeg har fundet fejlen, når jeg klipper den fra hinanden kan den klare opgaven med alle andre felter end message. det er en memo, men når jeg kigger på den i min online Table Editor kan jeg se at der står følgende name : R_MESSAGE Type : memo Size : 536870910 Attributes : (updatable) (nullable) (long)
men er grænsen ikke 65000 tegn for et memo, og gælder det også i sql????
Så vidt jeg kan læse mig frem til er det kombinatioen DISTINCT + Memo-felt der får det til at fejle.
Prøv at lave den indre SELECT sådan at du ikke medtager memo-feltet i første omgang. Hvis det lykkes burde det være muligt at få fat på memo-værdierne i en SQL nummer 2 bagefter.
Der er fundet en bedre løsning, det kan gøres direkte via access, der er faktisk en "søg duplicater guide" funktion under "forspørgelser" hvis man køre den guide så er opgaven løst på under 2 min, det tog så ca 10 min at kopiere resultatet ud i en ny tabel, men nu er problemet løst 100 %
Jeg er gået fra 297.000 til 244.000 poster og alle er unikke!! SUPER!
Du skal stadig have points, for din løsning var jo korrekt, der var bare en uforudset fejl i databasen...
Send mig et svar så sender jeg points og et stort tak for hjælpen den modsatte vej!!
Niks.. det er der helt styr på :o( <--- Ved ikke hvordan man laver en rødmende smiley
For skylden ligger 110 % på mine skuldre, grunden til at de er kommet er fordi at jeg har lavet fejl i forbindelse backup af poster, jeg er kommet til at kopiere de samme ind flere gange inden for det sidste år, fejlen opstår ikke igen, nu har alle felter fået unikt id ( jeps man lære jo noget nyt hverdag )
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.