Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

no duplicar datos si existe en la base de datos

Estas en el tema de no duplicar datos si existe en la base de datos en el foro de Mysql en Foros del Web. hola a todos tengo una duda que cuando alguien ingresa un dato que contine el mismo nombre ya existente la data base lo duplica creando ...
  #1 (permalink)  
Antiguo 12/08/2009, 18:30
 
Fecha de Ingreso: febrero-2008
Mensajes: 52
Antigüedad: 12 años
Puntos: 0
no duplicar datos si existe en la base de datos

hola a todos
tengo una duda que cuando alguien ingresa un dato que contine el mismo nombre ya existente
la data base lo duplica creando otra fila y queria saber como evitar esto para cuando se ingresa un dato con elmismo nombre no cree otra fila a ver si alguien me puede ayudar :)

Código:
stmt.executeUpdate("INSERT INTO `" + mysqlDatabaseName + "`.`" + mysqlTableName + "` (`" + mysqlRlsDate + "`, `" + mysqlName + "`, `" + mysqlGroup + "`, `" + mysqlSection + "`, `" + mysqlreason + "`, `" + mysqlSize + "`, `" + mysqlFiles + "`, `" + mysqlRlsGenre + "`) VALUES ('" + date + " " + time + "', '" + rls + "', '" + release1[release1.length - 1] + "', '" + section + "', '', '', '', '');");
este es el codigo que uso en java pero como digo funciona bien pero al insertar un dato con elmismo nombre no lo ignora y crea otro con el mismo nombre
espero que alguien me ayude :D
  #2 (permalink)  
Antiguo 12/08/2009, 22:00
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años
Puntos: 360
Respuesta: no duplicar datos si existe en la base de datos

haz uso de primary key en algún campo para evitar registros repetidos.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 12/08/2009, 22:12
Avatar de ricardoernes  
Fecha de Ingreso: agosto-2009
Ubicación: Miranda
Mensajes: 188
Antigüedad: 10 años, 6 meses
Puntos: 4
Respuesta: no duplicar datos si existe en la base de datos

Cita:
Iniciado por andrer Ver Mensaje
hola a todos
tengo una duda que cuando alguien ingresa un dato que contine el mismo nombre ya existente
la data base lo duplica creando otra fila y queria saber como evitar esto para cuando se ingresa un dato con elmismo nombre no cree otra fila a ver si alguien me puede ayudar :)

Código:
stmt.executeUpdate("INSERT INTO `" + mysqlDatabaseName + "`.`" + mysqlTableName + "` (`" + mysqlRlsDate + "`, `" + mysqlName + "`, `" + mysqlGroup + "`, `" + mysqlSection + "`, `" + mysqlreason + "`, `" + mysqlSize + "`, `" + mysqlFiles + "`, `" + mysqlRlsGenre + "`) VALUES ('" + date + " " + time + "', '" + rls + "', '" + release1[release1.length - 1] + "', '" + section + "', '', '', '', '');");
este es el codigo que uso en java pero como digo funciona bien pero al insertar un dato con elmismo nombre no lo ignora y crea otro con el mismo nombre
espero que alguien me ayude :D


ya tienes tu primary key cierto(el id de esa tabla)? pues bien si ya lo tienes y lo q kieres es q no se dupliquen los nombres.. haz lo siguiente... antes de mandar a insertar mandar a la bd un query al nombre, entonces si el nombre a insertar ya exist en la BD, le envias un mensaje al usuario y le dices que el Usuario ya esta registrado o ya existe o como quieras, sino simplemente insertas, me explique ?
  #4 (permalink)  
Antiguo 12/08/2009, 22:14
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años
Puntos: 360
Respuesta: no duplicar datos si existe en la base de datos

Si el problema está en los nombres, puedes hacer uso de UNIQUE KEY.


saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 13/08/2009, 13:24
 
Fecha de Ingreso: febrero-2008
Mensajes: 52
Antigüedad: 12 años
Puntos: 0
Respuesta: no duplicar datos si existe en la base de datos

gracias solucionado con el primary key

otra pregunta ¿como puedo añadir el unixtime cuando inserto un dato nuevo en la parte de la tabla mysqlRlsDate?
  #6 (permalink)  
Antiguo 13/08/2009, 13:38
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años
Puntos: 360
Respuesta: no duplicar datos si existe en la base de datos

Cita:
¿como puedo añadir el unixtime cuando inserto un dato nuevo en la parte de la tabla mysqlRlsDate?
Que tabla es esa?
a que te refieres con unixtime?
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 13/08/2009, 14:37
 
Fecha de Ingreso: febrero-2008
Mensajes: 52
Antigüedad: 12 años
Puntos: 0
Respuesta: no duplicar datos si existe en la base de datos

Unixtime es el tiempo en segundos desde el 1/1/1970 y es muy útil para almacenar y procesar fechas pero no se como se inserta en mysql
  #8 (permalink)  
Antiguo 13/08/2009, 15:10
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años
Puntos: 360
Respuesta: no duplicar datos si existe en la base de datos

Mira esto y echale un ojo a la función time_to_sec. Te puede ayudar.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #9 (permalink)  
Antiguo 16/08/2009, 10:38
 
Fecha de Ingreso: febrero-2008
Mensajes: 52
Antigüedad: 12 años
Puntos: 0
Respuesta: no duplicar datos si existe en la base de datos

solucionado gracias ahora solo necesito convertir estos numeros a una frecha leible
gracias :D
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:40.