【发布时间】:2014-04-28 15:18:17
【问题描述】:
我正在尝试将外键添加到已存在的名为 OrdersTbl 的表中。我添加了一个名为 ApprovedBy 的新列,如下所示:
ALTER TABLE OrdersTbl ADD ApprovedBy BIGINT UNSIGNED NOT NULL;
之后,我尝试将其设置为外键:
ALTER TABLE OrdersTbl
ADD CONSTRAINT ApprovedByEmp FOREIGN KEY (ApprovedBy)
REFERENCES EmployeesTbl(EmployeeID);
但我不断得到
错误 1452:无法添加或更新子行
我做错了什么?我应该将字段 ApprovedBy 设置为 FOREIGN KEY 吗?
【问题讨论】:
-
ApprovedBy不能为空。当您引用另一个表时,它必须包含表employeestbl中的值。您需要在引用之前填充值或允许空值。
标签: mysql sql reference key alter