gpt4 book ai didi

mysql - 为mysql中的唯一索引创建外键

转载 作者:行者123 更新时间:2023-11-29 09:59:12 24 4
gpt4 key购买 nike

产品

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;

但是当尝试使上外键引用表产品中缺少索引时,它总是给我这个错误...任何帮助如何在服务表中创建product_code对产品中的product_code的引用表?

最佳答案

外键必须引用以引用的字段开头的索引(按引用的顺序)。要引用 product_code,您必须有一个关于 product_code(或以该产品开头)的索引。

此外,通常,您会引用表的 PK;如果没有其他原因,它可以最大限度地减少需要级联的情况。产品代码比自动递增的行标识符更容易更改。

关于mysql - 为mysql中的唯一索引创建外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53343660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com