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

insertar datos mediante formulario con claves foráneas

Estas en el tema de insertar datos mediante formulario con claves foráneas en el foro de Bases de Datos General en Foros del Web. Hola, estoy trabajando con claves foráneas y las tablas ya las he hecho y sin problemas. El problema me viene cuando intento insertar datos mediante ...
  #1 (permalink)  
Antiguo 13/12/2004, 10:22
 
Fecha de Ingreso: abril-2004
Mensajes: 4
Antigüedad: 20 años, 1 mes
Puntos: 0
insertar datos mediante formulario con claves foráneas

Hola, estoy trabajando con claves foráneas y las tablas ya las he hecho y sin problemas.

El problema me viene cuando intento insertar datos mediante un formulario, y me da el error de:

Cannot add or update a child row: a foreign key constraint fails

Se que el error viene porque no está modificando la tabla, pero no se como tengo k insertar los datos.

El código para la creación de las tablas es:

--
-- Estructura de tabla para la tabla `grupo`
--

CREATE TABLE `grupo` (
`grupo_id` int(11) NOT NULL auto_increment,
`grupo` varchar(255) NOT NULL default '',
PRIMARY KEY (`grupo_id`)
) TYPE = INNODB;

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `alumnos`
--

CREATE TABLE `alumnos` (
`alumnos_id` int(11) NOT NULL auto_increment,
`grupo_id` int(11) NOT NULL default '0',
`nombre` varchar(255) NOT NULL default '',
PRIMARY KEY (`alumnos_id`),
INDEX (grupo_id)
) TYPE = INNODB;

ALTER TABLE alumnos ADD FOREIGN KEY(grupo_id) REFERENCES grupo(grupo_id);


Me gustaría saber como he de insertar los datos para que no me de ese fallo.

Gracias
  #2 (permalink)  
Antiguo 14/12/2004, 01:34
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Piensa para que vale la clave foránea y tendrás el porqué del error que te da.
Cuando defines una clave foránea estás indicando que un campo de tu tabla tiene que tener un valor referenciado en otra tabla. Y esto es lo que te está indicando el sistema: no pueden insertar un valor en la tabla alumnos porque el valor de referencia (grupo_id) no existe en la tabla grupos. Por lo tanto, para poder insertar en la tabla alumnos, antes tienes que asegurarte de que el valor que le das al campo "grupo_id" exista en la tabla grupos.
Un saludo.
__________________
Estoy contagiado de Generación-I
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




La zona horaria es GMT -6. Ahora son las 09:28.