Back to questions
Senior
4
Может ли первичный ключ быть составным?
Companies where asked
purrweb
Answer from AI
sobes.tech AI
Да, первичный ключ может быть составным. Составной первичный ключ — это ключ, состоящий из нескольких столбцов таблицы, которые вместе однозначно идентифицируют запись.
Пример в SQL:
CREATE TABLE Orders (
OrderID INT,
ProductID INT,
Quantity INT,
PRIMARY KEY (OrderID, ProductID)
);
Здесь комбинация OrderID и ProductID уникальна и служит первичным ключом.
В Go при работе с ORM (например, GORM) можно описать составной ключ через теги или отдельные структуры, но важно учитывать, что не все ORM поддерживают составные ключи одинаково удобно.
Составные ключи полезны, когда уникальность записи определяется комбинацией нескольких полей, а не одним. Однако их использование может усложнять запросы и поддержку, поэтому иногда предпочтительнее использовать суррогатный ключ (например, автоинкрементный ID).