【问题标题】:Create columns in SQL table that map to primary keys of other table在 SQL 表中创建映射到其他表主键的列
【发布时间】:2017-08-08 05:56:53
【问题描述】:

我有一个 Crops 表,其中每一行对应一个 Crop。

在一个单独的表 Locations 中,每一行对应一个位置。我想在每个位置的作物中存储每种作物的频率,等等。频率显然因作物和地点而异。 我将如何构建 Location 表? 我做了一些阅读并认为外键可能有用,但我不太明白如何构建。我是 SQL 新手。

我实际上要做的是将数据列表存储在我的位置表中。有没有办法让 Locations 的列对应于 Crops 的主键?更新作物时更新位置的解决方案也很棒。

【问题讨论】:

标签: mysql sql .net


【解决方案1】:

你需要一个单独的多对多表:

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)
);

【讨论】:

    猜你喜欢
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 2022-08-15
    • 2020-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    相关资源
    最近更新 更多