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