| |||
![]() hola, como le hago para que cuando este agregando registros en una mysql, cuando aya algún repetido no lo agregue? y si es posible salga un mensaje de error
__________________ Manual de Javascript |
| |||
Respuesta: Que no se agreguen 2 registros iguales en mysql Cita: cuando hablas de verificar si ya existe, te refieres a usar por ejemplo php, para validar si existe o no?
Iniciado por gnzsoloyo ![]() Hay muchas formas de lograrlo, pero yo empezaría por hacer que la interfase validara los datos contra la base antes de enviarlos a insertar, y de esa forma evitar problemas... Por lo demás, esa es la forma correcta de programar. ¿Para qué enviarle a la base algo duplicado si puedes verificar previamente que ya existe? Eso es una mala práctica. 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
__________________ Manual de Javascript |
| ||||
Respuesta: Que no se agreguen 2 registros iguales en mysql Cita: 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.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 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) |
Etiquetas: |