Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/11/2013, 05:20
joserodriguezan
 
Fecha de Ingreso: noviembre-2013
Ubicación: Barcelona
Mensajes: 33
Antigüedad: 11 años
Puntos: 0
Error 1215: Cannot add foreign key constraint

Hola a todos,

Tengo el "Error 1215:Cannot add foreign key constraint" al crear una tabla con tres foreing keys.

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS historic
  2.   dataini DATE NOT NULL CHECK(dataini>=datafi),
  3.   datafi DATE,
  4.   codClub TINYINT(2) UNSIGNED NOT NULL,
  5.   nomGols SMALLINT(3) UNSIGNED,
  6.   codEsp TINYINT(2) UNSIGNED default 1 NOT NULL,
  7.   imports SMALLINT(3) UNSIGNED,
  8.   FOREIGN KEY (codJug) REFERENCES jugador (codJug) ON DELETE SET NULL ON UPDATE CASCADE,
  9.   FOREIGN KEY (codClub) REFERENCES club (codClub) ON DELETE SET NULL ON UPDATE CASCADE,
  10.   FOREIGN KEY (codEsp) REFERENCES especialitat (codEsp) ON DELETE SET NULL ON UPDATE CASCADE
Las entidades a las que hay que relacionar son:
Código MySQL:
Ver original
  1. CREATE TABLE `jugador` (
  2.   `codJug` smallint(3) unsigned NOT NULL,
  3.   `alcada` double DEFAULT '1.7',
  4.   `pes` double DEFAULT '70',
  5.   PRIMARY KEY (`codJug`),
  6.   CONSTRAINT `jugador_ibfk_1` FOREIGN KEY (`codJug`) REFERENCES `persona` (`codP`) ON DELETE CASCADE ON UPDATE CASCADE
Código MySQL:
Ver original
  1. CREATE TABLE `club` (
  2.   `codClub` tinyint(2) unsigned NOT NULL,
  3.   `nomClub` varchar(30) NOT NULL,
  4.   `numSoc` int(11) DEFAULT NULL,
  5.   PRIMARY KEY (`codClub`),
  6.   UNIQUE KEY `nomClub` (`nomClub`)

Código MySQL:
Ver original
  1. CREATE TABLE `especialitat` (
  2.   `codEsp` tinyint(2) unsigned NOT NULL,
  3.   `nom` varchar(30) NOT NULL,
  4.   `descr` varchar(50) DEFAULT 'Sense descripcio',
  5.   PRIMARY KEY (`codEsp`),
  6.   UNIQUE KEY `nom` (`nom`)

Como veis las restricciones son las mismas en las tablas principles que en la tabla ha crear. ¿A que puede deverse este error?

Muchas gracias,
Jose Luis,

Última edición por gnzsoloyo; 24/11/2013 a las 06:17