Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Error de integridad al agregar mas de un registro

Estas en el tema de Error de integridad al agregar mas de un registro en el foro de Mysql en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 16/07/2011, 10:09
 
Fecha de Ingreso: octubre-2008
Mensajes: 162
Antigüedad: 11 años
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

Etiquetas: integridad, php, query, registro, registros, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 23:48.