Foros del Web » Programando para Internet » PHP »

limpiar bd mysql por medio de php

Estas en el tema de limpiar bd mysql por medio de php en el foro de PHP en Foros del Web. Que tal compañeros, tengo un caso, en mi bd tengo algunas tablas a las cuales no les indique INDICE UNIQUE, ahora que lo quiero hacer ...
  #1 (permalink)  
Antiguo 22/05/2013, 11:51
 
Fecha de Ingreso: abril-2013
Ubicación: Monterrey
Mensajes: 39
Antigüedad: 11 años, 7 meses
Puntos: 1
Pregunta limpiar bd mysql por medio de php

Que tal compañeros, tengo un caso, en mi bd tengo algunas tablas a las cuales no les indique INDICE UNIQUE, ahora que lo quiero hacer para optimizar mis consultas, me brinca el error de que existen campos con valores duplicados, bien sere mas especifico, tengo una tabla llamada 'inventario' donde el codigo de barra campo= 'codigob' no debe de repetirse, y por error tengo mas de 1000 productos con codigob repetido, elabore este codigo PHP para corregir este error, me funciono bien, investigue hacerlo con MySQL pero la verdad no entendi, solo quiero saber si mi forma de resolverlo con PHP fue la correcta, gracias !!

Código PHP:
<?php

require_once("includes/conn.php");

$sql "SELECT *,COUNT(codigob) FROM inventario GROUP BY codigob HAVING COUNT(codigob)>1";
$insertSQL mysql_query($sql) or die (mysql_error());
while(
$row mysql_fetch_assoc($insertSQL)) {
        
extract($row);
        echo 
$clave."-->".$codigob."-->".$descripcion."-->".$existencia."<br />";
        
//echo $row[clave]."-->".$row[codigob]."-->".$row[descripcion]."-->".$row[existencia]."<br />";
        
        
$sql2 "DELETE FROM inventario WHERE codigob = '$codigob'";
        
$insertSQL2 mysql_query($sql2) or die (mysql_error());
        
        
$sql3 "INSERT INTO inventario(codigob,descripcion,existencia) VALUES('$codigob','$descripcion','$existencia')";
        
$insertSQL3 mysql_query($sql3) or die (mysql_error());
    }



?>
__________________
---------
George GmEs
  #2 (permalink)  
Antiguo 22/05/2013, 11:55
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: limpiar bd mysql por medio de php

Si esa tabla tiene una PK en otro campo, hay modos más simples de hacer lo que quieres... y sólo con consultas SQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: bd, limpiar, medio, mysql, select, sql, tabla
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 09:43.