Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/12/2004, 04:59
nesetru123
 
Fecha de Ingreso: mayo-2004
Mensajes: 101
Antigüedad: 20 años, 8 meses
Puntos: 0
[ERROR] por que?

Hola a todos,

estoy intentando insertar un registro en una tabla, pero me da el siguiente error:
Cannot add or update a child row: a foreign key constraint
¿a que puede ser debido?

Mi código es el siguiente en php es:
$respuesta = mysql_query("INSERT INTO is_foto_oficina (IDOFICINA,NOMBRE) VALUES ('".$_POST["id"]."','".$_POST["new_name"]."')", $db);
Estructura de la tabla:
CREATE TABLE `is_foto_oficina` (
`IDFOTO` int(11) unsigned NOT NULL auto_increment,
`IDOFICINA` int(3) unsigned NOT NULL default '0',
`NOMBRE` varchar(50) default NULL,
PRIMARY KEY (`IDFOTO`),
KEY `IDOFICINA` (`IDOFICINA`)
) TYPE=InnoDB AUTO_INCREMENT=1 ;
# Filtros para la tabla `is_foto_oficina`
ALTER TABLE `is_foto_oficina`
ADD CONSTRAINT `IDOFICINA` FOREIGN KEY (`IDOFICINA`) REFERENCES `is_oficina` (`IDOFICINA`) ON DELETE CASCADE ON UPDATE CASCADE;

CREATE TABLE `is_oficina` (
`IDOFICINA` int(3) unsigned NOT NULL auto_increment,
`OFICINA` varchar(20) NOT NULL default '',
) TYPE=InnoDB AUTO_INCREMENT=1 ;