elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  No insertar si el valor existe
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: No insertar si el valor existe  (Leído 2,852 veces)
javirk

Desconectado Desconectado

Mensajes: 102


Ver Perfil
No insertar si el valor existe
« en: 14 Abril 2012, 15:40 »

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!


En línea

seba123neo


Desconectado Desconectado

Mensajes: 3.621


"No quiero creer, quiero saber" - Carl Sagan


Ver Perfil WWW
Re: No insertar si el valor existe
« Respuesta #1 en: 14 Abril 2012, 16:14 »

Best way to test if a row exists in a MySQL table


En línea

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson
lord_Sirikon

Desconectado Desconectado

Mensajes: 151


Es sólo el silencio que precede a la tormenta.


Ver Perfil WWW
Re: No insertar si el valor existe
« Respuesta #2 en: 16 Abril 2012, 01:53 »

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.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines