0

我正在尝试创建表,但在外键的最后一行不断出现以下错误。请帮忙:

CREATE TABLE branch_supplier(
branch_id INT,
supplier_name VARCHAR(40),
supply_type VARCHAR(40),
PRIMARY KEY(branch_id, supplier_name),
FOREIGN KEY(branch_id)REFERENCES branch(branch_id) ON DELETE SET NULL
);

失败的

ER_FK_COLUMN_NOT_NULL:列“branch_id”不能为 NOT NULL:在外键约束“branch_supplier_ibfk_1”中需要设置 NULL

尝试在 mysql 中创建一个新表并设置外键。

4

2 回答 2

3

PRIMARY KEY 是一个唯一索引,其中所有键列都必须定义为 NOT NULL。

您定义branch_id为可为空的。但这是不允许的,因为它是主键的一部分。

于 2019-05-11T04:30:40.873 回答
0

删除“on delete set null”部分它的工作原理

于 2021-09-08T16:25:06.037 回答