我使用了以下两个查询。该列将添加到表中,但第二个查询不起作用。
alter table rooms add column productid int not null;
alter table rooms add foreign key(productid) references stock(productid) on delete cascade;
我缺少什么?
答案 0 :(得分:2)
使用:
alter table rooms add productid int null;
alter table rooms add foreign key(productid) references stock(productid) on delete cascade
答案 1 :(得分:1)
在添加外键之前,您需要在该字段上创建索引。
但是当您创建外键时,由于“NOT NULL”,它将无法工作。实际上,您必须删除“NOT NULL”,填充数据然后写回“NOT NULL”。
另外,rooms.productid和stock.productid必须是同一类型。
试试这个:
alter table rooms add column productid int
alter table rooms add index (productid)
alter table rooms add foreign key (productid) references stock (productid) on delete cascade