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());
}
?>