Sobes.tech
Senior
33

Шетелдік кілт құрамдас бола ала ма?

Сұралған компаниялар
purrweb

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), то для составных внешних ключей нужно явно указывать поля и связи, так как автоматическое определение может не сработать.