Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2011, 06:30
moisesneveu
 
Fecha de Ingreso: octubre-2008
Mensajes: 162
Antigüedad: 16 años, 1 mes
Puntos: 11
Error de integridad al agregar mas de un registro

Estimados, a ver si alguien me puede ayudar con esto que no puedo solucionar.... se trata de insertar registros multiples en una tabla...

para insertar hago lo siguiente:

Código PHP:
$emails=$_POST['email'];
$id_cliente=$_POST['id_cliente'];

for (
$i=0$i<=count($emails); $i++) {    
    echo 
$emails[$i].'<br>'.$id_cliente[$i];

    
$que "INSERT INTO factura (cantidad1, id_cliente)";
    
$que.= "VALUES ( '$emails[$i]', '$id_cliente[$i]' )";
    
$res mysql_query($que$conexion) or die(mysql_error());

si inserto en una tabla normal, funciona muy bién.

pero al insertar en una tabla con campo foraneo me aparece el siguiente error:

Código:
Cannot add or update a child row: a foreign key constraint fails (`basedatos/factura`, CONSTRAINT `factura_ibfk_1` FOREIGN KEY (`id_cliente`) REFERENCES `clientes` (`id_cliente`))
tengo entendido que este error aparece cuando el valor o dato que estoy poniendo en el campo foraneo no existe... pero los registros que inserto si existen. pero a pesar de este error igual me inserta los datos en la base de datos...

las tablas son como sigue ambas innodb

-- clientes --
id_cliente (indice: primary)
nombre
rut

-- factura --
id_factura (indice: primary)
cantidad
...
id_cliente (indice: index)

y porsupuesto con phpmyadmin en vista relacion escojo en id_cliente su primaria.

bueno ese es mi problema aparece el error pero igual inserta los datos... al usar un insert normal funciona bien... el error aparece cuando uso for... esta mal el for?? cual puede ser el problema??

gracias desde ya, saludos.