Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/05/2013, 11:51
george_gmes
 
Fecha de Ingreso: abril-2013
Ubicación: Monterrey
Mensajes: 39
Antigüedad: 11 años, 1 mes
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