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

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

puse ya este mensaje en el foro de PHP lo digo para que NO LO MUEVAN, lo pongo aqui por que tiene que ver con MySQL.

Después de varias pruebas me doy cuenta que es problema de mysql y no de codigo php.... pero que puede estar mal?? mas abajo explico como estan hechas las tablas... además el numero que pongo en la foranea existe en la otra tabla... en fin...

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.

Última edición por moisesneveu; 17/07/2011 a las 20:45