Hola, tengo un problema que me está rompiendo la cabeza, es el siguiente, resulta que tengo estas dos tablas:
  
-direcciones (cp PK, dir PK, localidad, provincia,) 
-empresa (cifnif PK, nombre, codpostal FK, dirección FK, telefono1, telefono2, correo, imagen) 
Y quiero crearlas con las respectivas claves foráneas, pero mysql me da un error, la sintaxis es correcta porque la he comprobado mil veces, pero debe haber algo que se me escapa, aquí tenéis las sentencias de creación:  
  
Código MySQL:
Ver original-   
- CREATE TABLE-  empresa (`cifnif` varchar(45) NOT NULL, `nombre` varchar(45) NOT NULL,`codpostal` int(10) unsigned NOT NULL,`direccion` varchar(100)NOT NULL,`telefono1` varchar(9) NOT NULL, `telefono2` varchar(9) NOT NULL, `correo` varchar(45) NOT NULL, `imagen` longblob DEFAULT NULL, PRIMARY KEY(- cifnif ), FOREIGN KEY(- codpostal ) REFERENCES-  direcciones (- cp ), FOREIGN KEY(- direccion ) REFERENCES-  direcciones (- dir ))
 
Muchas gracias de antemano.