我正在尝试在 Mysql 工作台中设置外键。我为外键使用了与我试图与之建立关系的表的主键相同的名称。我已经在另一个表中以这种方式设置了一个关系,但是当我尝试将更改应用于此表时,脚本给了我一个错误:
错误 1005:无法创建表“X.#sql-718_a”(错误号:121)
SQL 语句:
ALTER TABLE `X`.`X_use`
ADD CONSTRAINT `XyzID`
FOREIGN KEY (`XyzID` ) REFERENCES `X`.`Xyz` (`XyzID` )
ON DELETE NO ACTION O
N UPDATE NO ACTION ,
ADD INDEX `XyzID` (`XyzID` ASC) ,
但是,如果我将外键名称更改为“AbcID”,则设置外键关系没有问题。为什么会这样,为什么我不能让一个表中的主键名称与该表的外键相同?我之前已经建立了这样的关系,但对于这张桌子我不能。