失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql错误1215hy000_MySQL:错误1215(HY000):无法添加外键约束

mysql错误1215hy000_MySQL:错误1215(HY000):无法添加外键约束

时间:2019-02-20 10:50:25

相关推荐

mysql错误1215hy000_MySQL:错误1215(HY000):无法添加外键约束

我已经阅读了 Silberschatz的 数据库系统概念 ,第6版。我将在MySQL的OS

X上实现第2章所示的大学数据库系统。但是我在创建表时遇到了麻烦。桌子看起来像 __course``department

mysql> select * from department

-> ;

+------------+----------+-----------+

| dept_name | building | budget |

+------------+----------+-----------+

| Biology | Watson | 90000.00 |

| Comp. Sci. | Taylor | 100000.00 |

| Elec. Eng. | Taylor | 85000.00 |

| Finance | Painter | 120000.00 |

| History | Painter | 50000.00 |

| Music | Packard | 80000.00 |

| Physics | Watson | 70000.00 |

+------------+----------+-----------+

mysql> show columns from department

-> ;

+-----------+---------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-----------+---------------+------+-----+---------+-------+

| dept_name | varchar(20) | NO | PRI | | |

| building | varchar(15) | YES | | NULL | |

| budget | decimal(12,2) | YES | | NULL | |

+-----------+---------------+------+-----+---------+-------+

创建表将course导致以下错误。

mysql> 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 1215 (HY000): Cannot add foreign key constraint

在google搜索外键约束之后,我刚刚了解到“外键约束”一词表示来自表中外键列的数据course必须存在于表的主键列中department。但是我应该在插入数据时遇到此错误。

如果没有,为什么作者让我执行该SQL语句?

如果我确实执行了错误的SQL语句,dept_name插入一些数据后是否必须在课程表中将其指定为外键?

编辑 :输入set foreign_key_checks=0到mysql>不修复错误。

------------------------

LATEST FOREIGN KEY ERROR

------------------------

-09-21 16:02:20 132cbe000 Error in foreign key constraint of table university/course:

foreign key (dept_name) references department):

Syntax error close to:

)

mysql> set foreign_key_checks=0

-> ;

Query OK, 0 rows affected (0.00 sec)

mysql> 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 1215 (HY000): Cannot add foreign key constraint

如果觉得《mysql错误1215hy000_MySQL:错误1215(HY000):无法添加外键约束》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。