I 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
は今、私はからフィールド '同上' を設定しよう参照 'UPC' からその外部キーに 'mws_dataは' 'items_link':
alter table mws_data add foreign key (Id) references items_link.upc;
しかし、このエラーが表示さ:
Error Code: 1215. Cannot add foreign key constraint
私は「items_link.id」ではない「mws_data.id」の値を探してみましたが、0の結果受け取った:任意の提案をいただければ幸いです
select Id
from mws_data
where id not in (select upc from items_link);
を!
あなたは実際にはありませんソース表の主キーを指定します。テーブルを変更するmws_data制約を追加する...外部キー(Id)の参照items_link;ちょうどフィンを使用します。 –
完璧、ありがとう、これは素晴らしい! –