Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/05/2009, 17:04
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Como relaciono esta bd en mysql

Es básica:
alumno.papa es FK y se referencia a papa.id
Código sql:
Ver original
  1. CREATE TABLE  `alumno` (
  2.   `id` INT(10) NOT NULL AUTO_INCREMENT,
  3.   `nombre` VARCHAR(100) NOT NULL,
  4.   `edad` VARCHAR(10) NOT NULL,
  5.   `papa` INT(10) UNSIGNED NOT NULL,
  6.   PRIMARY KEY  (`id`),
  7.   KEY `FK_alumno_papa` (`papa`),
  8.   CONSTRAINT `FK_alumno_papa` FOREIGN KEY (`papa`) REFERENCES `papa` (`id`)
  9. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  10.  
  11. CREATE TABLE  `papa` (
  12.   `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  13.   `nombre` VARCHAR(100) NOT NULL,
  14.   `edad` VARCHAR(10) NOT NULL,
  15.   `oficio` VARCHAR(100) NOT NULL,
  16.   PRIMARY KEY  (`id`)
  17. ) 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.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)