CREATE TABLE `modelos_empresa` (
`id_mod_emp` int(

`id_empresa` int(5) NOT NULL,
`id_modelo` int(5) NOT NULL,
`fecha_alta` date NOT NULL default '0000-00-00',
`fecha_baja` date NOT NULL default '0000-00-00',
`responsable` varchar(30) NOT NULL default '',
PRIMARY KEY (`id_empresa`,`id_modelo`)
INDEX (`id_empresa`),
FOREIGN KEY (`id_empresa`),
REFERENCES sociedades(`id_soci`)
ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `modelos` (
`id_mod` int(5) NOT NULL auto_increment,
`num_modelo` varchar(5) NOT NULL default '',
PRIMARY KEY (`id_mod`),
FOREIGN KEY (`id_mod`)
REFERENCES modelos_empresa(`id_modelo`)
ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Pues bien, la tabla MODELOS_EMPRESA me deja crearla en la base de datos, pero la tabla MODELOS no me deja crearla. Parece ser que no puedo relacionar el campo "id_mod" de MODELOS con "id_modelo" de MODELOS_EMPRESAS porque la primary key de esta ultima tabla es compuesta (id_empresa,id_modelo).
Como podria relacionar estas 2 tablas? Sin esto no puedo avanzar. Gracias.