Cita: el problema aqui que ese dato algunas veces se repetira pero no quiero que ese error me salga, quisiera saber como burlar ese error y que siempre me haga el insert en la DB(sql)
Disculpa, pero lo que te propones es un absurdo.
El mensaje especifica que estás intentando hacer algo que la base de datos no te permitirá hacer. No se puede insertar dos veces un mismo valor de PK en ningún DBMS, no importa lo que hagas. Eso es parte de las reglas básicas.
Simplemente no puedes burlar las restricciones de pK en una base de datos.
Si tienes constantemente ese mensaje, o la sentencia INSERT está mal escrita o bien tienes datos-basura, no validados o incorrectos. Y poner basura en la base, no es una opción. ¿No te parece?
Lo máximo que te admite un DBMS es:
1) Ignorar el INSERT y no hacer nada (INSERT IGNORE INTO...).
2) realizar algo si la clave está duplicada (... ON DUPLICATE KEY...)
Pero lo que bajo ninguna circunstancia debes hacer es pretender insertar con fórceps algo que la base no te dejará y no tiene sentido hacer.
El "@" que te proponen en la sentencia PHP lo único que hace es eliminar la respuesta, el mensaje de error, pero no significa que la sentencia se ejecuta, sino que si hay un error ni te enteras.