[MySQL]ERROR 1822 : Failed to add the foreign key constraint. Missing index for
[MySQL]ERROR 1822 : Failed to add the foreign key constraint. Missing index for
在处理跨schema添加外键的时候,使用语句添加:
ALTER TABLE `indoor`.`FAS_CABINET`ADD CONSTRAINT `FAS_CABINET_FK01` FOREIGN KEY (`ASSET_MANAGER_GUID`) REFERENCES `storage`.`COMMON_PERSONS` (`GUID`) ON DELETE NO ACTION ON UPDATE NO ACTION;
报错:Error Code: 1822. Failed to add the foreign key constraint. Missing index for constraint 'FAS_CABINET_FK01' in the referenced table 'COMMON_PERSONS'
其中GUID在`storage`.`COMMON_PERSONS`中并非primary key,也不是unique key
解决:可以看到因为GUID不是index导致,所以需要换成指向primary key或者把GUID变成index或者设为unique key
后续:
这个错误是由于跨库导致的,同一个库并没有index这个需要.因此可以使用同义词处理
如果是ORACLE,可以使用synonym来建立指向外部库的表
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~