Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2013, 09:53
mandygr87
 
Fecha de Ingreso: abril-2013
Mensajes: 82
Antigüedad: 11 años, 8 meses
Puntos: 0
errno: 150 no se puede crear tabla

Buenas, estoy pesando un script de creacion por phpmyadmin y me da el siguiente error:
#1005 - Can't create table 'mydb.actividad' (errno: 150)

Según he visto este error se da debido a una restricción de clave foránea incorrectamente formulada.

No consigo ver dónde está el error, me podriais ayudar por favor

Código MySQL:
Ver original
  1. -- -----------------------------------------------------
  2. -- Table `mydb`.`empresaactividad`
  3. -- -----------------------------------------------------
  4. DROP TABLE IF EXISTS `mydb`.`empresaactividad` ;
  5.  
  6. CREATE  TABLE IF NOT EXISTS `mydb`.`empresaactividad` (
  7.   `idempresaactividad` VARCHAR(9) NOT NULL ,
  8.   `tipo` VARCHAR(45) NOT NULL ,
  9.   `nombre` VARCHAR(100) NOT NULL ,
  10.   `telefono` DECIMAL(10,0) NOT NULL ,
  11.   `direccion` VARCHAR(150) NOT NULL ,
  12.   `ciudad` VARCHAR(45) NOT NULL ,
  13.   `cp` DECIMAL(10,0) NOT NULL ,
  14.   `provincia` VARCHAR(45) NOT NULL ,
  15.   `email` VARCHAR(60) NOT NULL ,
  16.   PRIMARY KEY (`idempresaactividad`) )
  17.  
  18.  
  19. -- -----------------------------------------------------
  20. -- Table `mydb`.`actividad`
  21. -- -----------------------------------------------------
  22. DROP TABLE IF EXISTS `mydb`.`actividad` ;
  23.  
  24. CREATE  TABLE IF NOT EXISTS `mydb`.`actividad` (
  25.   `idactividad` INT NOT NULL ,
  26.   `nombre` VARCHAR(45) NOT NULL ,
  27.   `descripcion` TEXT NOT NULL ,
  28.   `precioalta` FLOAT NOT NULL ,
  29.   `preciobaja` FLOAT NOT NULL ,
  30.   `idempresaactividad` VARCHAR(9) NOT NULL ,
  31.   PRIMARY KEY (`idactividad`, `idempresaactividad`) ,
  32.   CONSTRAINT `fk_actividad_empresaactividad1`
  33.     FOREIGN KEY (`idempresaactividad` )
  34.     REFERENCES `mydb`.`empresaactividad` (`idempresaactividad` )
  35.  
  36. CREATE INDEX `fk_actividad_empresaactividad1` ON `mydb`.`actividad` (`idempresaactividad` ASC) ;

Última edición por gnzsoloyo; 13/05/2013 a las 12:04 Razón: SQL mal etiquetado. Usar Highlight "MySQL"