b) Si el Id existe descartar la inserción por completo... y seguir con el siguiente Id.
Mira así me llegan los datos por el txt - Mi Id o indice es un autoincremental no en la tabla de MySQL pero si en el txt así:
1,8840,'Set Cubiertos',1
2,8840,'Efectivo',1
3,8841,'Serv. Domicilio',1
4,8841,'Huev RevCebTomat',1
5,8841,'Empq Fritat Desy',1
6,8841,'.SIN',1
7,8841,'ArepitasQueso(3)',1
8,8841,'Mini Salchichas.',1
9,8841,'Empq M Salc Desy',1
10,8842,'Serv. Domicilio',1
11,8842,'Huev RevCebTomat',1
12,8842,'Empq Fritat Desy',1
13,8842,'ArepitasQueso(3)',1
14,8842,'Pan Brioche',2
Código PHP:
Ver original$filasP = file('C:\IntranetPV\Pedido.txt');
foreach ($filasP as $key => $valoresP) {
list($Id_U, $Id_chk, $Cnt, $Producto) = explode(",",$valoresP1); $InsertP = mysql_query("REPLACE INTO pedido(Id_U, Id_chk, Cnt, Producto) VALUES ('$Id_U','$Id_chk','$Producto','$Cnt')", $conexion); }
Actualmente remplaza... pero cuando son muchas líneas se lentea la aplicación y el servidor también sube en performance :/.
Intente con consulta INSERT IGNORE en vez de REPLACE
Código MySQL:
Ver originalVALUES ('$Id_U','$Id_chk','$FechaP','$Total','$Producto','$Cnt')
Pero lo que hace es insertar una vez todos los registros y ya de hay de vuelve a insertar ni a ignorar ni nada.
Dicho esto necesito es que solo inserte una cantidad prudente (100 registros/lineas) y o así sea que valide el ultimo Id y vaya insertando (lo cual sería mucho mejor).
Insertaría solo un pedido por ciclo. (el ciclo lo hace cada 30 segundos) entonces cada vez que pase inserte solo el nuevo o el grupo de nuevos.