15. januar 2005 - 22:14Der er
21 kommentarer og 1 løsning
Sql strenge
Hejsa
jeg har en database med 2 tabeller: Data Kategorier
Bægge tabeller har en følgende 2 kolonner: ID ParentID
Det jeg har brug for, er at få en sql streng der kan samligne tabellerne og finde det data i data som ikke har nogen relation til kategori tabellen. Sammenhængen er at ParentID i data høre til ID i Kategorier.
Desuden skal jeg også have en sql streng der henter de kategorier ud som ikke høre til nogen steder. Altså hvor ParentID ikke findes som et ID i Kategori tabellen.
Jeg vil helst hvis jeg kan få de 2 løsninger som en sql streng jeg kan køre direkte i min MySQL database. Hvis dette ikke kan lade sig gøre så skal det gerne laves i asp.
Kan ikke lige se hvordan jeg kan kæde den delete du skrev sammen med følgende: Delete FROM `Data` LEFT JOIN Kategorier ON Data.ParentID = Kategorier.ID WHERE Kategorier.ID IS NULL
Og din sql der samligner for ens data er jeg ved at teste men det lader ikke til den virker. Nu har den tygget på det i flere minutter uden at give noget resultat. Er det normalt?
MySQL returnerede: #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT Data.ID FROM DATA LEFT JOIN Kategorier ON Data.Parent
Den spørger fint nok om jeg vil slette men kommer så med samme nr-fejl:
MySQL returnerede: #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN Kategorier ON Data.ParentID = Kategorier.ID WHERE Ka
Så melder den ingen fejl men står bare og tænker. Har ladet den stå i 10 min nu uden at der sker noget. Det er ikke godt! Tror heller ikke sql serveren kan lide det.
Udtrækket med en ren select tager 1 sek og henter 1302 poster ud. Det skal ikke tage meget længere at slette del eller hvad?
Men en delete skal vel ikke tage meget længere end en select. Der må være et eller andet galt. Hvad kan vi lige gøre ved den?
Jeg kan se at den sql der undersøger for ens data virker hvis jeg bruger den på en mindre tabel. Men den tager da uendelig langtid på min kæmpe data tabel. Kan den optimeres på nogen måde?
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.