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

Borrar registros de una base de datos MySQL

Estas en el tema de Borrar registros de una base de datos MySQL en el foro de Bases de Datos General en Foros del Web. Hola amigos: tengo una base de datos en MySQL con 100000 (cien mil registros). La mayoría están solo llenos en 3 columnas (id, votos y ...
  #1 (permalink)  
Antiguo 04/12/2009, 20:04
 
Fecha de Ingreso: noviembre-2009
Mensajes: 164
Antigüedad: 15 años
Puntos: 0
Borrar registros de una base de datos MySQL

Hola amigos: tengo una base de datos en MySQL con 100000 (cien mil registros). La mayoría están solo llenos en 3 columnas (id, votos y media) y vacíos en las otras 3 (nombre, descripcion y url). Es de un directorio.
Como quiero usar formularios php, intenté llenar los vacíos de cada fila y no pude. Luego, intenté borrar las filas que tienen nombre,descripcion y url vacios y no pude.
Comento que los registros del 1 al 100 están llenos los 6 campos, luego, del 1000 al 1010, del 2000 al 2010, etc., pero la mayoría están vacíos.
¿Qué me recomendais hacer? Gracias.
  #2 (permalink)  
Antiguo 04/12/2009, 20:12
 
Fecha de Ingreso: noviembre-2009
Mensajes: 164
Antigüedad: 15 años
Puntos: 0
Respuesta: Borrar registros de una base de datos MySQL

Comentario adicional: ¿Existe alguna forma de usar el UPDATE para poner en los campos nombre, descripcion y url a través de formularios, con la condición de que estén vacíos estos 3 campos? ¿Que podría usar para tal fin?
  #3 (permalink)  
Antiguo 04/12/2009, 20:35
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Borrar registros de una base de datos MySQL

Imagino que los registros cuyos campos nombre, descripcion y url estan vacios no los quieres para nada no??

Es raro que no se puedan borrar con un simple delete.........

Delete from tabla where nombre="" and descripcion="" and url=""

¿Que tipo de datos son esos 3 campos? varchar?
  #4 (permalink)  
Antiguo 04/12/2009, 21:13
 
Fecha de Ingreso: noviembre-2009
Mensajes: 164
Antigüedad: 15 años
Puntos: 0
Respuesta: Borrar registros de una base de datos MySQL

Si, los tres son varchar y los quiero para llenar en su momento con datos de otros sitios (es un directorio).
Puse:
Cita:
DELETE * FROM rank where nombre=""
  #5 (permalink)  
Antiguo 04/12/2009, 23:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Borrar registros de una base de datos MySQL

Bien, la pregunta sería: ¿Esos campos en cuestión contienen vacíos o NULL?
Si tienen vacíos (''), tu borrado debería funcionar, pero si tienen NULL no, porque un '' no es igual a NULL...
Código sql:
Ver original
  1. DELETE *
  2. FROM rank
  3. WHERE nombre="" OR nombre IS NULL;

Además de eso, si la mayoría de los registros de la tabla están vacíos, existe la posibilidad de que esté mal diseñado el modelo, o mal diseñado el formulario de entrada.
Digo esto porque tantos registros con un grupo de campos vacío habla de un conjunto de datos que puede tener, y cuando no debe tener, podría darse que esos datos se pudiesen normalizar, colocándolos en una segunda tabla vinculada por FK.
Es posible que también la cosa esté mal manejada en el formulario, ya que si los datos debieran estar, hay que validar el ingreso para que el usuario no los omita.

Como sea, es una observación.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 05/12/2009, 05:50
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Borrar registros de una base de datos MySQL

Prueba

DELETE FROM rank where nombre=""
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:36.