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