Sobes.tech
Senior
53

Vai ārējais atslēga var būt sastāvdaļa?

Uzņēmumi, kur jautāja
purrweb

Atbilde no AI

sobes.tech AI

Да, внешний ключ может быть составным. Это означает, что внешний ключ состоит из нескольких столбцов, которые вместе ссылаются на составной первичный ключ или уникальный ключ в другой таблице. Такой подход используется, когда связь между таблицами определяется не одним полем, а комбинацией нескольких полей.

Пример в SQL:

CREATE TABLE Orders (
    OrderID int,
    ProductID int,
    PRIMARY KEY (OrderID, ProductID)
);

CREATE TABLE Shipments (
    ShipmentID int PRIMARY KEY,
    OrderID int,
    ProductID int,
    FOREIGN KEY (OrderID, ProductID) REFERENCES Orders(OrderID, ProductID)
);

В контексте Golang, если вы работаете с ORM (например, GORM), то для составных внешних ключей нужно явно указывать поля и связи, так как автоматическое определение может не сработать.