2016-10-03 61 views
0

我没有练过SQL在一段时间,我忘了如何将外键添加到我的表添加一个外键的表

mysql> alter table students 
add foreign key fk_unit(unitid) 
references unit(unitid) 
on delete no action 
on update cascade; 
    ERROR 1072 (42000): Key column 'unitid' doesn't exist in table 

我不知道为什么是这样的话?我的单元表有一个名为unitid的主键,为什么这会继续发生?

+0

你在学生表中有相同名称的column unitid检查它。我认为这是不同的,这就是为什么给错误。 –

+0

您的单元表有一列unitid,但可能是您的学生表没有列名unitid。这就是错误所暗示的。 –

回答

0

试试这个它应该工作....

ALTER TABLE students 
ADD CONSTRAINT FK_UnitId FOREIGN KEY (unitid) 
    REFERENCES unit(unitid); 
0

试试这个

ALTER TABLE Students 
ADD FOREIGN KEY (unitid) 
REFERENCES unit(unitid) 
0

您所查询的是正确的。看起来像“学生”表中缺少字段“unitid”,或者名称不同。