Tema: errno 150
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/03/2009, 18:58
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: errno 150

Hay un error de sitaxis en la tercera tabla. Cuando se define una FK debe indicase además de la tabla referida, también el campo referido
El script quedaría:
Código sql:
Ver original
  1. CREATE TABLE  `entrenadores` (
  2.   `dni_entrenador` VARCHAR(12) NOT NULL,
  3.   `nombre` VARCHAR(25) NOT NULL,
  4.   `apellido_1` VARCHAR(25) NOT NULL,
  5.   `apellido_2` VARCHAR(25) DEFAULT NULL,
  6.   `lugar_nacimiento` VARCHAR(30) DEFAULT NULL,
  7.   `fecha_nacimiento` DATE DEFAULT NULL,
  8.   `nacionalidad` VARCHAR(20) DEFAULT NULL,
  9.   `telefono` VARCHAR(15) DEFAULT NULL,
  10.   `correo` VARCHAR(50) DEFAULT NULL,
  11.   `usuario` VARCHAR(25) DEFAULT NULL,
  12.   `contrasenya` VARCHAR(30) DEFAULT NULL,
  13.   `cod_categoria` INT(11) DEFAULT NULL,
  14.   PRIMARY KEY  (`dni_entrenador`),
  15.   KEY `cod_categoria` (`cod_categoria`)
  16. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  17.  
  18. CREATE TABLE  `jugadores` (
  19.   `dni_jugador` VARCHAR(12) NOT NULL,
  20.   `nombre` VARCHAR(25) NOT NULL DEFAULT '',
  21.   `apellido_1` VARCHAR(25) NOT NULL DEFAULT '',
  22.   `apellido_2` VARCHAR(25) DEFAULT NULL,
  23.   `posicion` VARCHAR(30) DEFAULT NULL,
  24.   `lugar_nacimiento` VARCHAR(30) DEFAULT NULL,
  25.   `fecha_nacimiento` DATE DEFAULT NULL,
  26.   `nacionalidad` VARCHAR(20) DEFAULT NULL,
  27.   `peso` FLOAT(5,2) DEFAULT NULL,
  28.   `altura` FLOAT(3,2) DEFAULT NULL,
  29.   `telefono` VARCHAR(15) DEFAULT NULL,
  30.   `correo` VARCHAR(50) DEFAULT NULL,
  31.   `usuario` VARCHAR(25) DEFAULT NULL,
  32.   `contrasenya` VARCHAR(30) DEFAULT NULL,
  33.   `convocado` enum('si','no') DEFAULT NULL,
  34.   `cod_estadistica` INT(5) NOT NULL AUTO_INCREMENT,
  35.   `cod_categoria` INT(11) DEFAULT NULL,
  36.   PRIMARY KEY  (`dni_jugador`),
  37.   KEY `cod_estadistica` (`cod_estadistica`),
  38.   KEY `cod_categoria` (`cod_categoria`)
  39. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  40.  
  41. CREATE TABLE  `comentarios_entrenadores` (
  42.   `dni_jugador` VARCHAR(12) NOT NULL,
  43.   `dni_entrenador` VARCHAR(12) NOT NULL,
  44.   `asunto` VARCHAR(50) DEFAULT NULL,
  45.   `fecha` DATE NOT NULL DEFAULT '0000-00-00',
  46.   `hora` TIME NOT NULL DEFAULT '00:00:00',
  47.   `comentario` text,
  48.   `leido` enum('si','no') DEFAULT NULL,
  49.   `respuesta` enum('si','no') DEFAULT NULL,
  50.   PRIMARY KEY  (`fecha`,`hora`,`dni_jugador`),
  51.   KEY `fecha` (`fecha`),
  52.   KEY `hora` (`hora`),
  53.   KEY `dni_jugador` (`dni_jugador`),
  54.   KEY `dni_entrenador` (`dni_entrenador`),
  55.   CONSTRAINT `comentarios_entrenadores_ibfk_1` FOREIGN KEY (`dni_jugador`) REFERENCES `jugadores` (`dni_jugador`) ON DELETE CASCADE ON UPDATE CASCADE,
  56.   CONSTRAINT `comentarios_entrenadores_ibfk_2` FOREIGN KEY (`dni_entrenador`) REFERENCES `entrenadores` (`dni_entrenador`) ON DELETE CASCADE ON UPDATE CASCADE
  57. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)