gpt4 book ai didi

mysql - 错误 1215 (HY000) : Cannot add foreign key constraint. 已尝试多次

转载 作者:行者123 更新时间:2023-11-29 15:35:50 27 4
gpt4 key购买 nike

我在为我的表设置外键时遇到问题,这是图片

我尝试更改父表中列的数据类型和约束,但没有任何帮助

这是教师表:-

+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| Fid | varchar(20) | NO | PRI | NULL | |
| F_name | varchar(20) | YES | | NULL | |
| Department | varchar(20) | YES | | NULL | |
| Subject | varchar(20) | YES | | NULL | |
| Subject_id | int(11) | NO | | NULL | |
+------------+-------------+------+-----+---------+-------+

这是我要创建的子表:-

create table module(Subject_id int(11), 
Subject varchar(20),
module_1 blob,
module_2 blob,
module_3 blob,
module_4 blob,
module_5 blob,
foreign key (Subject_id) references faculty(Subject_id));

我收到此错误:-

ERROR 1215 (HY000): Cannot add foreign key constraint

最佳答案

在表模块中,您将subject_id列设置为可为空(即它可以采用NULL值)。但是,在父表faculty 中,subject_id 不可为空。使子表中的 subject_id 也不能为空:

CREATE TABLE module (
Subject_id INT(11) NOT NULL,
Subject VARCHAR(20),
module_1 BLOB,
module_2 BLOB,
module_3 BLOB,
module_4 BLOB,
module_5 BLOB,
FOREIGN KEY (Subject_id) REFERENCES faculty(Subject_id)
);

作为一般规则,外键类型和父键类型必须完全一致。这并不总是 MySQL 的要求,它可能很宽松,但您仍然应该尽可能遵守此规则。

关于mysql - 错误 1215 (HY000) : Cannot add foreign key constraint. 已尝试多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58249956/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com