产品
CREATE TABLE if NOT EXISTS `PRODUCTS` (
`ID` INT unsigned NOT NULL AUTO_INCREMENT,
`COMPANY_ID` INT(10) unsigned NOT NULL,
`PRODUCT_CODE` VARCHAR(5) NOT NULL,
`PRODUCT_NAME` VARCHAR(15) NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE INDEX UNIQUE_COMAPNY_UNIT_CODE (`COMPANY_ID`, `PRODUCT_CODE`)
)
服务
ALTER TABLE services
ADD COLUMN `PRODUCT_CODE` VARCHAR(5),
ADD FOREIGN KEY (`PRODUCT_CODE`) REFERENCES PRODUCTS(`PRODUCT_CODE`) ON DELETE CASCADE ON UPDATE CASCADE;
但是当我尝试创建上外键时,它总是给我这个错误 missing index in the references table products
... 如何在服务表中生成产品代码参考产品表中的产品代码?
1条答案
按热度按时间bvn4nwqk1#
外键必须按引用的顺序引用以引用的字段开头的索引。若要引用产品代码,必须在产品代码上有索引(或以产品代码开头)。
另外,通常,您引用表的pk;如果没有其他原因的话,它可以最大限度地减少需要级联的情况。产品代码比自动递增的行标识符更容易更改。