我正在使用 Mysql Workbench。我已经做好了 table 。
现在我想在一个名为 Personal_Details
的表中添加外键,该键是 Login
表中的主键。
但是当我尝试这样做时,它向我显示以下错误:
ERROR 1005: Can't create table 'shaadiDB.#sql-404_25' (errno: 121)
SQL语句:
ALTER TABLE `shaadiDB`.`Personal_Details`
ADD CONSTRAINT `Login_Id`
FOREIGN KEY (`Login_Id` )
REFERENCES `shaadiDB`.`Login` (`Login_Id` )
ON DELETE NO ACTION
ON UPDATE NO ACTION
, ADD INDEX `Login_Id` (`Login_Id` ASC)
最佳答案
似乎 Personal_Details
表中的数据可能有一些带有 Login_Id 的行,而表 Login
中不存在这些行。
如果是这种情况,那么解决方案就是需要将数据移动到另一个表,然后添加约束。添加约束后,您需要将所有行逐一添加回表 1。
关于mysql - 添加外键时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21276210/