为什么我不能添加两个外键?
正在执行:
ALTER TABLE `adv`.`book`
ADD CONSTRAINT `BRANCH_ID`
FOREIGN KEY (`BRANCH_ID`)
REFERENCES `adv`.`branch` (`BRANCH_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;
Operation failed: There was an error while applying the SQL script to the database.
ERROR 1022: Can't write; duplicate key in table '#sql-209c_8'
SQL Statement:
ALTER TABLE `adv`.`book`
ADD CONSTRAINT `BRANCH_ID`
FOREIGN KEY (`BRANCH_ID`)
REFERENCES `adv`.`branch` (`BRANCH_ID`)
ON DELETE NO ACTION
ON UPDATE NO ACTION发布于 2019-09-28 17:46:10
您似乎正在使用MySQL。
从错误消息中可以看出,很可能已经存在另一个同名的约束(即BRANCH_ID)。这是不允许的。
要解决这个问题,您可以简单地为您尝试创建的约束指定一个不同的名称。
您可以查询catalog view INFORMATION_SCHEMA.KEY_COLUMN_USAGE来找出哪些表使用了相同的约束名称。
SELECT table_schema, table_name, column_name
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE constraint_name = 'BRANCH_ID';https://stackoverflow.com/questions/58143710
复制相似问题