Es básica:
alumno.papa es FK y se referencia a papa.id
Código sql:
Ver originalCREATE TABLE `alumno` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(100) NOT NULL,
`edad` VARCHAR(10) NOT NULL,
`papa` INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (`id`),
KEY `FK_alumno_papa` (`papa`),
CONSTRAINT `FK_alumno_papa` FOREIGN KEY (`papa`) REFERENCES `papa` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `papa` (
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`nombre` VARCHAR(100) NOT NULL,
`edad` VARCHAR(10) NOT NULL,
`oficio` VARCHAR(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
1. El campo FK tiene que ser del mismo tipo que el ID de la tabla referida.
2. Es mejor usar INTEGER y no INT(10). Tiene más alcance.
3. Las sentencias en MySQL tienen que terminar SIEMPRE con ";". No es opcional.