在sql执行中获取错误以创建具有外键约束的表

时间:2014-01-22 08:29:32

标签: mysql

当我执行以下SQL查询时:

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
);

我收到以下错误:

MySQL said: Documentation

1215 - Cannot add foreign key constraint 

有助于解决此问题的任何见解?

3 个答案:

答案 0 :(得分:1)

您没有在父表中添加字段来引用。

应该是:

FOREIGN KEY ( dept_name ) REFERENCES department( dept_name )

答案 1 :(得分:0)

引用应该像REFERENCES TABLE( COLUMN_NAME )

FOREIGN KEY ( dept_name ) REFERENCES department( 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( dept_name )
);

答案 2 :(得分:0)

您需要指定引用表中的哪个列匹配。您的查询应如下所示:

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 )
);