Para evitar datos duplicados, trata de definir una llave que no permita datos duplicados, si tu tabla ya contiene datos duplicados, primero tendrías que borrarlos para luego poder aplicar la llave; y finalmente, para borrar datos duplicados es todo un show que nuestros "amigos" de microsoft hacen
de esta manera.
Aunque el artículo se refiere a SQL Server, espero que te pueda servir.