错误1215:无法添加外键约束MySQL Workbench

时间:2016-09-26 19:35:14

标签: mysql mysql-workbench

我正在尝试使用MySQL Workbench添加一个表,其中2个外键设置为主键(复合键)。我也试过phpMyAdmin但结果是一样的。使用Workbench,我使用正向工程师将模式中的表添加到数据库中。

这是Workbench创建的SQL查询:

 CREATE TABLE IF NOT EXISTS `img27globalmanager`.`servicios_requeridos_proyectos_mantenimiento_web_proyectos` (
          `id_servicio_mantenimiento_web` INT NOT NULL,
          `id_proyecto` INT NOT NULL,
          INDEX `fk_servicios_requeridos_proyectos_mantenimiento_web_proyect_idx` (`id_servicio_mantenimiento_web` ASC),
          INDEX `fk_servicios_requeridos_proyectos_mantenimiento_web_proyect_idx1` (`id_proyecto` ASC),
          PRIMARY KEY (`id_servicio_mantenimiento_web`, `id_proyecto`),
          CONSTRAINT `fk_servicios_requeridos_proyectos_mantenimiento_web_proyectos1`
            FOREIGN KEY (`id_servicio_mantenimiento_web`)
            REFERENCES `img27globalmanager`.`servicios_requeridos_proyectos_mantenimiento_web` (`id_servicio_mantenimiento_web`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION,
          CONSTRAINT `fk_servicios_requeridos_proyectos_mantenimiento_web_proyectos2`
            FOREIGN KEY (`id_proyecto`)
            REFERENCES `img27globalmanager`.`proyectos` (`id_proyecto`)
            ON DELETE NO ACTION
            ON UPDATE NO ACTION)
        ENGINE = InnoDB

该表从'Proyectos'表中获取1个主键字段,从'Servicios_requeridos_proyectos_mantenimiento_web'获取另一个主键字段。

我有更多的表,复合键以相同的方式创建,但这是唯一不起作用的表。

我已经检查了数据类型,并且两个foreigh键字段与它们的外键相同:INT / Not Null。我试图删除并再次创建表但没有工作。

请帮助。

我看到了一些类似的帖子,但他们的解决方案在我的案例中不起作用。

0 个答案:

没有答案