sql >> Database >  >> RDS >> Mysql

Hoe verwijder ik dubbele rijen in mijn MySQL-database? (Bewaar degene met de laagste primaire ID)

Iets als dit zou moeten werken:

DELETE FROM `table` 
WHERE `id` NOT IN (
    SELECT MIN(`id`) 
    FROM `table`
    GROUP BY `download_link`)

Voor de zekerheid, voordat u de eigenlijke verwijderquery uitvoert, wilt u misschien een gelijkwaardige selectie uitvoeren om te zien wat wordt verwijderd:

SELECT * FROM `table` 
WHERE `id` NOT IN (
    SELECT MIN(`id`) 
    FROM `table`
    GROUP BY `download_link`)


  1. Een vooraf ingevulde database bijwerken

  2. PHP + MYSQL op Duplicate KEY verhogen nog steeds de INDEX KEY

  3. Oracle reguliere expressies. Gevaarlijk bereik

  4. Afbeeldingen toewijzen aan lijstBekijk items Tutorial-03