错误:由于约束名称重复而无法创建表
在将 MySQL 数据库正向工程到 WAMP 服务器中时,您遇到了错误“错误 1005:无法创建表“aquaticstar.link”(错误号:121)。”此错误表明数据库中已存在指定名称的表。
经过进一步调查,发现该问题与重复的约束名称有关。具体来说,Link 表包含名为 id 和 Lesson_id 的外键约束,这些约束也存在于其他表中。此命名冲突会阻止数据库创建链接表。
要解决此问题,您应该将链接表中的外键约束重命名为唯一名称。这可以通过修改执行脚本中的以下几行来实现:
CONSTRAINT `id` FOREIGN KEY (`id` ) REFERENCES `Students` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `lesson_id` FOREIGN KEY (`lesson_id` ) REFERENCES `Schedule` (`lesson_id` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
例如,您可以将 id 约束重命名为 Student_id,将 Lesson_id 约束重命名为 Schedule_lesson_id。
CONSTRAINT `student_id` FOREIGN KEY (`id` ) REFERENCES `Students` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `schedule_lesson_id` FOREIGN KEY (`lesson_id` ) REFERENCES `Schedule` (`lesson_id` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
重命名约束后,重新执行脚本即可成功创建链接表。
以上是为什么由于约束名称重复而无法创建 MySQL 表?的详细内容。更多信息请关注PHP中文网其他相关文章!