Hejsan,
Jag har en databas med produkter till min framtida webshop. Problemet är att dessa produkter lagts in i databasen under en längre tid. Därför finns det dubletter och liknande...Detta vore väl relativt enkelt att lösa, om det inte vore för ett litet problem. Jag vill ha kvar EN produkt med varje namn, och ta bort dubletterna. Jag tänkte mig först:
INSERT into nodups select distinct produkt from wares
(Note: nodups är en tom kopia av wares)
Men detta går uppenbarligen inte, för att det finns en massa andra kolumner i båda tables (sammanlagt c:a 20 st). Jag får det klassiska felmeddelandet " Column count doesn't match value count at row 1". Så, går det att göra vad jag behöver? Insert...Select distinct, och ta med HELA raden (inte bara den distincta kolumnen)?
Om inte, finns det något annat sätt att rensa dubletter ur ett table med många kolumner?
OBS: Det är oftast bara en enda kolumn (produkt) som är samma mellan raderna, de andra kolumnerna kan vara olika av vissa anledningar. Med dubletter menar jag här alltså att kolumnen produkt är samma mellan flertalet rader. Kolumnen är en TEXT. Jag försökte lägga till en unik index med IGNORE för att därför tvinga den att ta bort dubletterna, men det gick inte på ett TEXT-fält...Och det verkar inte fungera att konvertera till en VARCHAR av någon anledning. Jag använde följande query till det:
ALTER TABLE wares MODIFY produkt VARCHAR NOT NULL
och på det får jag bara "You have an error in your SQL syntax..." Trots att det borde vara rätt...
Jag använder Mysql 4.0.8. Gamma.
Tack på förhand,
Jim1234