alter table OA_OrgBudget_Detail
add constraint FK_ORG_RF_OA_ORGBU foreign key (Years, Org)
references OA_OrgBudget (Years, Org)
on update cascade on delete cascade
go
提示的错误信息为:
在被引用表 'OA_OrgBudget' 中没有与外键 'FK_ORG_RF_OA_ORGBU' 中的引用列列表匹配的主键或候选键。
但是实际上 'OA_OrgBudget' 表中是存在了主键 Org , Years的,后来吧这两个字段调换了一下,OK!
alter table OA_OrgBudget_Detail
add constraint FK_ORG_RF_OA_ORGBU foreign key (Org , Years)
references OA_OrgBudget (Org , Years)
on update cascade on delete cascade
go
原来组合主键是区分前后顺序的,就像索引查找一样,用Org , Years就能用索引,用Years, Org的话就用不了索引了
本文介绍了在数据库中定义外键约束时,组合主键中字段顺序的重要性。通过一个具体案例说明,当组合主键的字段顺序与外键引用的顺序不一致时,可能会导致外键约束无法正确创建的问题。并给出了正确的解决办法。
540

被折叠的 条评论
为什么被折叠?



