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

Insertar y borrar filas en una tabla

Estas en el tema de Insertar y borrar filas en una tabla en el foro de Mysql en Foros del Web. Hola, tengo una pequeña duda acerca de cómo insertar datos en una fila de una tabla, borrando los que estaban escritos previamente en la misma. ...
  #1 (permalink)  
Antiguo 29/09/2009, 10:01
 
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 15 años, 9 meses
Puntos: 0
Insertar y borrar filas en una tabla

Hola,

tengo una pequeña duda acerca de cómo insertar datos en una fila de una tabla, borrando los que estaban escritos previamente en la misma.

En concreto, mi tabla dispone de 4 columnas: buffer, uid, mac y tiempo. Lo que quiero es que si se repite el uid, se borre la fila que había previamente almacenada y se sustituya por el nuevo valor, que estará actualizado en el tiempo.

¿Hay alguna forma de poder hacer esto?

Muchas gracias por vuestra ayuda y un saludo,

Paloma
  #2 (permalink)  
Antiguo 29/09/2009, 10:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Insertar y borrar filas en una tabla

Usando REPLACE en lugar de INSERT.
REPLACE tiene la misma sitaxis que INSERT pero lo que hace es reemplazar completamente el registro existente con el entrante cuando la PK coincide. En caso de no haber una PK igual,inserta un registro nuevo.

No realiza UPDATE y no genera un error de clave duplicada.

Otra opción es usar un INSERT con clausula de ON DUPLICATE KEY UPDATE...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 30/09/2009, 10:18
 
Fecha de Ingreso: julio-2008
Mensajes: 47
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Insertar y borrar filas en una tabla

Hola,

muchísimas gracias por tu ayuda. Me ha sido de gran utilidad.

Un saludo,


Paloma
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 03:08.