Сколько первичного ключа возможно в таблице? - PullRequest
0 голосов
/ 02 августа 2011

Я использую MySQL.Сколько первичных ключей возможно в таблице в базе данных mysql.

Ответы [ 5 ]

6 голосов
/ 02 августа 2011

Нельзя иметь несколько из того, что называется «первичным».Ответ: один.Первичный ключ может содержать несколько столбцов.Тогда это то, что вы назвали «составным первичным ключом»

. На этот вопрос вы всегда найдете ответ в руководстве:

http://dev.mysql.com/doc/refman/5.5/en/create-table.html

3 голосов
/ 02 августа 2011

Вы можете иметь только один первичный ключ, и он может быть составлен (или нет). Также вы можете иметь много уникальных индексов, которые логически идентичны первичным ключам (но некоторые функции для них недоступны)

вы должны понимать первичный ключ как «первый» индекс таблицы, во многих СУБД обязательно иметь первичный ключ, чтобы иметь другие индексы

2 голосов
/ 02 августа 2011

Вы можете иметь только один первичный ключ. Из документации MySQL:

ПЕРВИЧНЫЙ КЛЮЧ - это уникальный индекс, в котором должны быть определены все ключевые столбцы. как НЕ НУЛЬ. Если они явно не объявлены как NOT NULL, MySQL объявляет их так неявно (и молча). Стол может иметь только один ОСНОВНОЙ КЛЮЧ. Если у вас нет ПЕРВИЧНОГО КЛЮЧА, и приложение спрашивает для ПЕРВИЧНОГО КЛЮЧА в ваших таблицах MySQL возвращает первый УНИКАЛЬНЫЙ индекс, в котором в качестве ПЕРВИЧНОГО КЛЮЧА отсутствуют столбцы NULL.

Вы оставили комментарий о составных первичных ключах. Я предлагаю немного почитать из руководства по MySQL, чтобы узнать о них http://dev.mysql.com/doc/refman/5.5/en/create-table.html. Кроме того, здесь есть вопрос здесь о SO по поводу составных первичных ключей, вам просто нужно их найти.

1 голос
/ 02 августа 2011

Один, следовательно, «первичный».У вас могут быть другие «уникальные» ключи / индексы в таблице, которые обозначают уникальность в этом столбце / столбцах (и, вероятно, будут называться ключом-кандидатом).

0 голосов
/ 02 августа 2011

Один.

Однако вы можете использовать несколько полей для создания первичного ключа, если это то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...