假设我有item(name, code, price, provider)
和provider(name, code, address)
我使用
制作item
表格
CREATE TABLE item
(
name varchar(50) NOT NULL, code varchar(30) NOT NULL, price float NOT NULL, provider varchar(50) not null,
PRIMARY KEY(code),
foreign key(provider) references provider(name)
);
但是,现在我想要foreign key(provider) references provider(code)
。
答案 0 :(得分:0)
你可以这样做:
ALTER TABLE item
ADD FOREIGN KEY(code) REFERENCES provider(code);
注意:您必须确保provider.code和provider.name是唯一键。 MySql仅允许外键约束唯一或主键列。
答案 1 :(得分:0)
如果你需要删除以前的约束,你可以这样做:
ALTER TABLE item
drop foreign key item_ibfk_1
'item_ibfk_1'是与原始约束对应的fk符号。要为表找到此fk符号,可以运行以下命令:
SHOW CREATE table item;
然后你需要添加新约束
ALTER TABLE item
ADD FOREIGN KEY(provider) REFERENCES provider(code);