mysql错误

vlurs2pr  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(315)

我有以下表格:

CREATE TABLE branch (
 branch_id INT PRIMARY KEY,
 branch_name VARCHAR(40),
 mgr_id INT,
 mgr_start_date DATE,
 FOREIGN KEY(mgr_id) REFERENCES employee(emp_id) ON DELETE SET NULL
);

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

我正在尝试将信息插入到branch\u supplier表中。

INSERT INTO branch_supplier VALUES(2, 'Uni-ball', 'Writing Utensils');

但不断出现以下错误:
er\u no\u referenced\u row\u 2:无法添加或更新子行:外键约束失败( girrafe . branch_supplier ,约束 branch_supplier_ibfk_1 外键( branch_id )参考文献 branch ( branch_id )删除时(级联)
我刚刚开始学习mysql。不知道怎么解决。

xqkwcwgp

xqkwcwgp1#

错误信息非常清楚。为列指定的值 branch_supplier 在子表中 branch_supplier (这里, 2 )列中必须存在 branch_id 父表的 branch .
将该值更改为父表中存在的值,或者先插入父行,然后插入子行。

相关问题