Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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.