richiarcos
Bovino adolescente
- Desde
- 13 Sep 2008
- Mensajes
- 52
- Tema Autor
- #1
Hola bakunos, tengan buen día. (TEMA EDITADO)
Tengo las siguientes tablas:
CREATE TABLE alumno (
id VARCHAR (11) NOT NULL,
nomAlumno VARCHAR (25) NOT NULL,
apPatAlumno VARCHAR (25) NOT NULL,
apMatAlumno VARCHAR (25) NOT NULL,
grado INT (1) NOT NULL,
grupo VARCHAR (1) NOT NULL,
taller VARCHAR (25) NOT NULL,
edad INT (2) NOT NULL,
sexo VARCHAR (1) NOT NULL,
email VARCHAR (50) NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
CREATE TABLE tutor (
alumno_id VARCHAR (11) NOT NULL,
nomTutor VARCHAR (25) NOT NULL,
apPatTutor VARCHAR (25) NOT NULL,
apMatTutor VARCHAR (25) NOT NULL,
direccion VARCHAR (160) NOT NULL,
telMovil INT (10) NOT NULL,
telCasa INT (7) NOT NULL,
INDEX (alumno_id),
FOREIGN KEY (alumno_id)
REFERENCES alumno (id)
ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=INNODB;
Anteriormente podía hacer el INSERT en ambas tablas pero ahora ya no porque hice unas modificaciones en las PK y FK.
Esta es la query que utilizo:
El error que me manda es el siguiente:
Cannot add or update a child row: a foreign key constraint fails (`sicalumnos`.`tutor`, CONSTRAINT `tutor_ibfk_1` FOREIGN KEY (`alumno_id`) REFERENCES `alumno` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
Ya le he modificado en la varias ocasiones pero no encuentro la solución. Espero me puedan ayudar.
Gracias por leer!:vientos:
Tengo las siguientes tablas:
CREATE TABLE alumno (
id VARCHAR (11) NOT NULL,
nomAlumno VARCHAR (25) NOT NULL,
apPatAlumno VARCHAR (25) NOT NULL,
apMatAlumno VARCHAR (25) NOT NULL,
grado INT (1) NOT NULL,
grupo VARCHAR (1) NOT NULL,
taller VARCHAR (25) NOT NULL,
edad INT (2) NOT NULL,
sexo VARCHAR (1) NOT NULL,
email VARCHAR (50) NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
CREATE TABLE tutor (
alumno_id VARCHAR (11) NOT NULL,
nomTutor VARCHAR (25) NOT NULL,
apPatTutor VARCHAR (25) NOT NULL,
apMatTutor VARCHAR (25) NOT NULL,
direccion VARCHAR (160) NOT NULL,
telMovil INT (10) NOT NULL,
telCasa INT (7) NOT NULL,
INDEX (alumno_id),
FOREIGN KEY (alumno_id)
REFERENCES alumno (id)
ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=INNODB;
Anteriormente podía hacer el INSERT en ambas tablas pero ahora ya no porque hice unas modificaciones en las PK y FK.
Esta es la query que utilizo:
PHP:
$id = $_POST["id"];
$nomAlumno = $_POST["nomAlumno"];
$apPatAlumno = $_POST["apPatAlumno"];
$apMatAlumno = $_POST["apMatAlumno"];
$grado = $_POST["grado"];
$grupo = $_POST["grupo"];
$taller = $_POST["taller"];
$edad = $_POST["edad"];
$sexo = $_POST["sexo"];
$email = $_POST["email"];
$nomTutor = $_POST["nomTutor"];
$apPatTutor = $_POST["apPatTutor"];
$apMatTutor = $_POST["apMatTutor"];
$direccion = $_POST["direccion"];
$telMovil = $_POST["telMovil"];
$telCasa = $_POST["telCasa"];
$queryAlumno = "INSERT INTO alumno (id, nomAlumno, apPatAlumno, apMatAlumno, grado, grupo, taller, edad, sexo, email) VALUES ('$id','$nomAlumno', '$apPatAlumno', '$apMatAlumno', $grado, '$grupo', '$taller', $edad, '$sexo', '$email')";
$insert = mysql_query($queryAlumno, $con) or die (mysql_error());
$idCabecera = mysql_insert_id();
$queryTutor = "INSERT INTO tutor (alumno_id, nomTutor, apPatTutor, apMatTutor, direccion, telMovil, telCasa) VALUES ('$idCabecera', '$nomTutor', '$apPatTutor', '$apMatTutor', '$direccion', $telMovil, $telCasa)";
$insert = mysql_query($queryTutor, $con) or die (mysql_error());
El error que me manda es el siguiente:
Cannot add or update a child row: a foreign key constraint fails (`sicalumnos`.`tutor`, CONSTRAINT `tutor_ibfk_1` FOREIGN KEY (`alumno_id`) REFERENCES `alumno` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
Ya le he modificado en la varias ocasiones pero no encuentro la solución. Espero me puedan ayudar.
Gracias por leer!:vientos: