2017-07-08 97 views
0
create table department 
(
dept_name varchar(20), 
building varchar(20), 
budget numeric(12, 2), 
primary key(dept_name) 
); 

这是我以前创建的表...麻烦使用创建表的外键

现在我写这本:

create table course 
(
course_id varchar(7), 
title varchar(50), 
dept_name varchar(20), 
credits numeric(2, 0), 
primary key(course_id), 
foreign key (dept_name) references department 
); 

的它显示:

ERROR 1005(HY000):无法创建表'satyarth.course'(errno:150)

+0

可能的复制( https://stackoverflow.com/questions/9018584/error-code-1005-cant-create-table-errno-150)所以问题。 –

回答

1

你错过的外键要求的部分,因为你不能简单地指到另一个表:

foreign key (dept_name) references department(dept_name) 
1

添加引用表字段名PFB的[这]

create table course(course_id varchar(7), 
title varchar(50), 
dept_name varchar(20), 
credits numeric(2, 0), 
primary key(course_id), 
FOREIGN KEY (`dept_name`) REFERENCES `department` (`dept_name`)  
);