我创建了两个表学生和订单,我试图在表中添加一个外键"命令"但我有这个错误:
Cannot add or update a child row: a foreign key constraint fails
表学生:
CREATE TABLE STUDENTS (
ID varchar(50) NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
PRIMARY KEY (ID)
)
表ORDERS
CREATE TABLE Orders
(O_Id int NOT NULL PRIMAY KEY,
Order_No int NOT NULL,ID varchar(50))
将外键添加到"命令":
ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY(ID)
REFERENCES STUDENTS (ID)
答案 0 :(得分:2)
检查[订单]表当前是否有任何不在[学生]表中的ID。
答案 1 :(得分:0)
我认为您正在尝试添加外键约束,并且父表中没有相应的主键。 尝试运行
SET FOREIGN_KEY_CHECKS=0
你的ALTER TABLE语句。当你完成运行
SET FOREIGN_KEY_CHECKS=1