Hola a todos, tengo un problema insertando muchos registros en una base de datos de MySQL, lo extraño es que de un total de 3200 registros solo se graban 184.
Les anexo el código simplificado: @data_ contiene los 3200 registros, los cuales si son desplegados en pantalla, los datos antes de ser insertados en la tabla son validados y no se generan errores de tipo de datos o longitud.
Esta estructura de código lo he utilizado varios años y nunca había tenido problemas manipulado una menor cantidad de datos, ¿existe alguna sintaxis diferente cuando se trata de volúmenes de datos mayores?
espero me puedan ayudar
Saludos
Código:
$dbh = ConectarDB->connect();
foreach $i (@data_) {
($id1_, $id2_, $id3_, $id4_, $id5_, $id6_, $id7_) = split(/,/,$i);
($departamento, $categoria) = split(/\./,$id7_);
print "($id7_) $id1_|$departamento|$categoria|$id3_|$id2_|$id5_|$id4_|$id6_<br>\n";
$sth = $dbh->prepare('INSERT INTO inventarios values(?,?,?,?,?,?,?,?)') or die("Couldn't prepare statement: " . $dbh->errstr);
$sth->execute($id1_,$departamento,$categoria,$id3_,$id2_,$id5_,$id4_,$id6_) or die("Couldn't execute statement: " . $sth->errstr);
}
$sth->finish;
$dbh->disconnect;