我有一个作物表,每一行对应于一种作物。
在一个单独的表中,位置,我有每一行对应于一个位置。我想把每一种作物的频率存储在每一个地点,以及其他地方。每种作物和每一地点的频率明显不同。我将如何构造定位表?,我读了一些外键,认为外键可能有用,但我看不出怎么做。我对SQL很陌生。
实际上,我要做的是在我的位置表中存储一个数据列表。有没有办法使地点的列与农作物的主要键相对应?当作物更新时,一个更新位置的解决方案也将是非常棒的。
发布于 2017-08-08 06:00:58
你需要一个单独的多对多的桌子:
CREATE TABLE CropLocations (
crop_id INT NOT NULL,
location_id INT NOT NULL,
frequency INT,
PRIMARY KEY (crop_id, location_id),
CONSTRAINT FOREIGN KEY (crop_id) REFERENCES Crops (id),
CONSTRAINT FOREIGN KEY (location_id) REFERENCES Locations (id)
);https://stackoverflow.com/questions/45560311
复制相似问题