1. has una consulta que te arroje tus retorsivo en tu tabla y los guardas en un array.
2. compara los datos que pretendes ingresar , si existen en el array descartalos.
3. Supongo que con los dos puntos de arriba queda, saludos!
Si tienes millones de registros (siendo exagerados) esto no es muy optimo.
pues primero haces la consulta a la base y si encuentra que es igual al valor ingresado, que lo ignore.
saludos
Con la sugerencia de ~ Yoya ~ te ahorras el paso de la comprobación si existe.
Como te comenta el compañero ~ Yoya ~ coloca el campo como UNIQUE.
Lo único que tienes que hacer es leer el error al hacer el insert o un update.
Error CODE: 1062
DUPLICATE entry '929' FOR KEY 'numero'
:http://www.w3schools.com/sql/sql_unique.asp
Saludos.