Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: javirk en 14 Abril 2012, 15:40 pm



Título: No insertar si el valor existe
Publicado por: javirk en 14 Abril 2012, 15:40 pm
Hola, pues eso, estoy peleándome con los INSERT y tengo una duda: ¿Cómo puedo hacer para que no inserte un valor si éste ya existe? Ya he puesto el campo en UNIQUE, y tengo una columna de la tabla que es autoincrementable, así que ese no se me va a repetir, pero la otra columna sí puede repetirse, y no sé cómo hacer para que si ese valor ya está dentro que aborte la entrada.

Sé que se puede hacer con un SELECT primero, y después insertando si da positivo, pero eso puede bajar el rendimiento de la aplicación y no es plan. Uso MYSQL.

Un saludo y gracias!


Título: Re: No insertar si el valor existe
Publicado por: seba123neo en 14 Abril 2012, 16:14 pm
Best way to test if a row exists in a MySQL table (http://stackoverflow.com/questions/1676551/best-way-to-test-if-a-row-exists-in-a-mysql-table)


Título: Re: No insertar si el valor existe
Publicado por: lord_Sirikon en 16 Abril 2012, 01:53 am
Si no quieres que un valor se repita en una columna, pon esa columna como clave primaria, así nunca podrá repetirse de ninguna forma y a la hora de hacer un insert la base de datos dirá que no se puede, que es clave primaria y ya hay un valor igual.