Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/10/2010, 07:46
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Que no se agreguen 2 registros iguales en mysql

Cita:
la verdad también pensé en eso, incluso asi es que lo hago pero que mamera toda esa lineas de códigos, quería saber si hay un método mas practico y sensillo, por ejemplo ponerle una clave,como la primary que creo que no acepta numeros repetidos
Hay modos de asegurarse que no existan duplicaciones, o repeticiones, y parte de ello precisamente compone los fundamentos de las bases de datos relacionales. El único problema es que para aprovechar esas ventajas tienes que hacer buenos diseños de bases de datos, y no crear las tablas al azar, poniendo, por ejemplo, claves primarias numericas y autoincrementales. Tienes que crearlas en función del análisis de esa entidad en particular.
Dos ejemplos:
1) Los productos comerciales en el stock de una tienda. ¿Por qué ponerles numeros de ID autoincrementales, si cada producto tiene un código EAN13 que lo identifica? Es mucho más seguro y es absolutamente irrepetible, e identifica univocamente no sólo un producto, sino también a sus derivados (cada medida de envase de un mismo producto, por ejemplo, tiene un código distinto).
2) Las personas, se suelen identificar por su documento, los empleados por su numero de registro laboral o su inscripción a la seguridad social, las empresas por sus registraciones jurídicas, etc. ¿Para qué ponerles otra cosa?

Aún así, estos caso no desdicen lo que te decía al principio: es mejor verificar vía interfase para no enviar inutilmente algo que ya exista. Siempre será mejor, porque de lo contrario estás ocupando la comunicación con una masa de datos inútil, cuando enviando sólo algunos de ellos ya puedes hacer la verificación con mejores resultados...

Con el tiempo verás que el tiempo perdido en verificar una simple clave, es mucho menor que el que te lleva programar y depurar las rutinas que necesitas para administrar un error retornado por registros de clave duplicada.

Mantenlo simple.

Respecto de poner índices UNIQUE, son una manera de crear claves alternativas para ciertos casos, pero nada de eso será útil sin las rutinas de verificación, y por experiencia te digo que depurar eso lleva más tiempo y más problemas que hacer verificaciones contra la base...
Son útiles, siempre y cuando sean correctamente aprovechados y diseñados, pero nunca suplirán completamente una interfase bien programada.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)