Mysql错误:150无法创建表

Jeg*_*gus 2 mysql mysql-error-1064

我使用mysql工作台从我创建的erd导出sql,但是当我尝试将其导入mysql时,我只是得到错误150无法创建表.

当我试图删除服务子的约束,它的正常工作.但我需要保留那些参考.

并且每个引用服务表的表也都有这个错误.我哪里错了?

CREATE  TABLE IF NOT EXISTS `service` (
  `id` INT(11) NOT NULL AUTO_INCREMENT ,
  `name` VARCHAR(200) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
  `seq` INT(11) NOT NULL ,
  `image` VARCHAR(200) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL ,
  PRIMARY KEY (`id`) )
ENGINE = MyISAM
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;

CREATE  TABLE IF NOT EXISTS `service_package` (
  `id` INT(11) NOT NULL AUTO_INCREMENT ,
  `sc_id` INT(11) NOT NULL ,
  `lang` INT(11) NOT NULL ,
  `package` VARCHAR(200) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NOT NULL ,
  PRIMARY KEY (`id`) ,
  INDEX `service_package_id` (`sc_id` ASC) ,
  CONSTRAINT `service_package_id`
    FOREIGN KEY (`sc_id` )
    REFERENCES `service` (`id` )
    ON DELETE CASCADE
    ON UPDATE CASCADE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_general_ci;
Run Code Online (Sandbox Code Playgroud)

Dan*_*oap 5

您正在ENGINE = MyISAM服务台上使用.请尝试使用ENGINE = InnoDB(就像在service_package桌面上一样).

外键不适用于MyIsam存储引擎.