mysql 尝试使用 FOREIGN KEY 创建新的 table 时出现错误 1822
mysql error 1822 when trying to create new table with a FOREIGN KEY
尝试以下代码:
create table donation(
donation_number int not null primary key ,
product_id int not null
);
create table stock (
product_id int not null primary key,
available_qty int not null,
FOREIGN KEY (product_id ) REFERENCES donation(product_id)
);
回馈
Error Code: 1822. Failed to add the foreign key constraint. Missing index for constraint 'stock_ibfk_1' in the referenced table 'donation'.
为什么?我该如何解决这个问题?
要创建外键关系,您在其上创建关系的父 table 列必须是唯一的或主要的,并且它们必须具有相同的数据类型和大小也
product_id 捐赠 table 不是唯一的。
尝试以下代码:
create table donation(
donation_number int not null primary key ,
product_id int not null
);
create table stock (
product_id int not null primary key,
available_qty int not null,
FOREIGN KEY (product_id ) REFERENCES donation(product_id)
);
回馈
Error Code: 1822. Failed to add the foreign key constraint. Missing index for constraint 'stock_ibfk_1' in the referenced table 'donation'.
为什么?我该如何解决这个问题?
要创建外键关系,您在其上创建关系的父 table 列必须是唯一的或主要的,并且它们必须具有相同的数据类型和大小也
product_id 捐赠 table 不是唯一的。