jeśli w tabeli będziesz miał kolumnę z atrybutem UNIQUE, to nie wpisze Ci się dwa razy taki sam rekord (oczywiście pod warunkiem że ta kolumna nie będzie autoincrement) - oczywiście nie zawsze będziesz mógł dać taką kolumnę, ale może Ci się przyda
EDIT:
natomiast co do usuwania, hmmm...
myślę, że możesz zrobić selecta z group by:
SELECT kolumna , COUNT(*)
FROM tabela GROUP BY kolumna
powinieneś uzyskać tabelkę w postaci:
wartość kolumny | ilość wystąpień wartości
kasia | 7
basia | 5
itd
po tym wiesz już, które wartości się powtarzają, więc robisz:
DELETE FROM tabela WHERE kolumna LIKE 'kasia'
ORDER BY id DESC LIMIT 6
Zauważ, że jeśli wartości kasia było 7, to limit do 6 i pozostanie tylko 1 wpis z kasia (ten z najmniejszym, a więc najstarszym id)
ps. selecty pisane z palca, więc na pewno mają błędy