0

我有一个以course列命名的表

courseid
coursename

我有subject列的表

sub_id
sub_name

我想在我的主题表上定义一个外键。

这是我的 SQL 代码

ALTER TABLE subject 
ADD FOREIGN KEY (courseid) 
REFERENCES course(courseid);

这是我得到的错误:

表中不存在键列“courseid”**

4

3 回答 3

1

首先在表中添加courseidsubject

尝试这个:

ALTER TABLE subject
ADD courseid varchar(100);

ALTER TABLE subject
ADD FOREIGN KEY (courseid)
REFERENCES course (courseid);
于 2013-09-03T06:06:07.723 回答
1
ALTER TABLE subject ADD FOREIGN KEY (courseid) 
REFERENCES course (courseid) 
ON DELETE CASCADE ON UPDATE CASCADE 

确保你的两个表结构都在 innodb 中,并且关系字段都被索引

于 2013-09-03T06:21:24.193 回答
0

尝试这样的事情:

已编辑

ALTER TABLE subject ADD courseid varchar(10);
ALTER TABLE subject ADD Constraint 
FOREIGN KEY(courseid) REFERENCES course(courseid);

请更改数据类型,其长度取决于主键。

于 2013-09-03T06:05:23.427 回答