外键定义过程中语法存在错误;
外键关联的字段类型、大小或字符集不一致;
主键和外键定义的字段数量或名称不一致;
外键约束命名重复.
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.
以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!