Ver Mensaje Individual
  #4 (permalink)  
Antiguo 25/06/2009, 10:26
matak
 
Fecha de Ingreso: julio-2008
Ubicación: Alcañiz-Teruel-España
Mensajes: 182
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Insert ignore into

Buenas,

Primero gracias por contestar tan rápido.

Os pongo un poco en contexto.
El programa realiza una importacion de una datos de una BD a otra. A medida que se va haciendo la importacion voy registrando las acciones para una vez a finalizando genero un txt de informe tipo.

Cita:
XX/XX/XXXX

Informe de importación
***********************
X registros procesados

X registros añadidos
X registro existentes
X registros defectuosos

A tardado X minutos X segundos
Para contabilizar los registros que ya existian pense en detectar cuando INSERT IGNORE INTO.

En php hago esta query

Código php:
Ver original
  1. $sql="INSERT IGNORE INTO mytabla (campo1,campo2) VALUE ('$value1','$value2')";
  2.  
  3. $consulta = mysql_query ($sql, $conexion)
  4.    or die (fwrite($logimporta,"ERROR SQL:\nQUERY: $instruccion\nERROR: ".mysql_error ($conexion)));

Sustituyendo eso por algo asi...


Código php:
Ver original
  1. $sql="INSERT INTO mytabla (campo1,campo2) VALUE ('$value1','$value2')";
  2.  
  3. $consulta = mysql_query ($sql, $conexion);
  4. if (!$consulta){
  5.    if (/*Duplicate key*/) {
  6.       $nRegExistentes++;
  7.    }else{
  8.       die (fwrite($logimporta,"ERROR SQL:\nQUERY: $instruccion\nERROR: ".mysql_error ($conexion)));
  9.    }
  10. }

¿Como sería para controlar el tipo de error que te arroga MySQL?

Saludos
__________________
Si quieres puedes y si puedes debes. Imposible is nothing!!!