Mysql
 sql >> Database >  >> RDS >> Mysql

elimina le righe duplicate e devi conservarne una da tutte in mysql

DELETE  a
FROM    tableA a
        LEFT JOIN
        (
            SELECT MIN(ID) ID, Name, Phone
            FROM    TableA
            GROUP   BY Name, Phone
        ) b ON  a.ID = b.ID AND
                a.NAme = b.Name AND
                a.Phone = b.Phone
WHERE   b.ID IS NULL

Dopo aver eseguito l'istruzione di eliminazione, applica un vincolo univoco alla colonna in modo da non poter inserire nuovamente record duplicati,

ALTER TABLE TableA ADD CONSTRAINT tb_uq UNIQUE (Name, Phone)