Login
网站首页 > 文章中心 > 其它

解析在MySQL里创建外键时ERROR_1005的解决办法

作者:小编 更新时间:2023-08-16 19:23:38 浏览量:320人看过

1. 错误原因分析

外键定义过程中语法存在错误;

外键关联的字段类型、大小或字符集不一致;

主键和外键定义的字段数量或名称不一致;

外键约束命名重复.

2. 解决办法


ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段) REFERENCES 关联表名(关联表字段);


如果关键字、表名、字段名或者外键名称等存在拼写错误,都会导致语法错误.

示例1:在Orders表中创建CustomerId外键,引用Customers表中的CustomerId字段


ALTER TABLE Orders
ADD CONSTRAINT FK_CustomerId
FOREIGN KEY (CustomerId) 
REFERENCES Customers(CustomerId);



ALTER TABLE Orders
ADD CONSTRAINT FK_CustomerId
FOREIGN KEY (CustomerId) 
REFERENCES Customers(CustomerId);



ALTER TABLE Orders
ADD CONSTRAINT FK_Customer_Employee
FOREIGN KEY (CustomerId,EmployeeId) 
REFERENCES Customers(CustomerId),Employees(Employee_Id);


解决办法:将Customers表的CustomerId改成Customer_Id


ALTER TABLE Orders
ADD CONSTRAINT FK_Customer
FOREIGN KEY (CustomerId) 
REFERENCES Customers(CustomerId);

ALTER TABLE Orders
ADD CONSTRAINT FK_Customer
FOREIGN KEY (EmployeeId) 
REFERENCES Employees(EmployeeId);


解决办法:将这两个外键约束名称改成不同的名称,比如FK_Customer_CustomerId和FK_Customer_EmployeeId.

③ 总结

以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章