0
我有一個DB下表:MySQL的 - 添加索引,鏈接表
CREATE TABLE `items_link` (
`upc` varchar(15) NOT NULL DEFAULT '',
PRIMARY KEY (`upc`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
然後,另一個表:
CREATE TABLE `mws_data` (
`ItemID` float NOT NULL AUTO_INCREMENT,
`Status_response` varchar(15) DEFAULT '',
`Id` varchar(15) NOT NULL DEFAULT '',
`IdType` varchar(7) NOT NULL DEFAULT '',
`IsMultASIN` tinyint(1) DEFAULT '0',
`ASIN` varchar(20) DEFAULT '',
`BrandAmazon` varchar(150) DEFAULT '',
`Title` varchar(1000) DEFAULT '',
`ProductGroup` varchar(150) DEFAULT '',
`ImgURL` varchar(500) DEFAULT '',
`PkgHeight` float DEFAULT NULL,
`PkgWidth` float DEFAULT NULL,
`PkgLength` float DEFAULT NULL,
`PkgWeight` float DEFAULT NULL,
`PackageQuantity` float DEFAULT NULL,
`Unique_Entry_Id` datetime NOT NULL,
PRIMARY KEY (`ItemID`)
) ENGINE=InnoDB AUTO_INCREMENT=116973 DEFAULT CHARSET=utf8
現在,我嘗試從設置字段 'ID' 'mws_data' 的外鍵引用 'UPC' 從 'items_link':
alter table mws_data add foreign key (Id) references items_link.upc;
但是,此錯誤顯示:
Error Code: 1215. Cannot add foreign key constraint
我試圖尋找「mws_data.id」不在'items_link.id的價值觀,卻收到0的結果:
select Id
from mws_data
where id not in (select upc from items_link);
任何建議,將不勝感激!
你實際上並沒有在源表中指定主鍵。 alter table mws_data添加約束...外鍵(Id)引用items_link;將工作。 –
完美,非常感謝,這工作得很好! –