В чем разница между первичным и уникальным ключом?

В чем разница между первичным и уникальным ключом (в MySQL)? Как их можно рассматривать как внешний ключ? пожалуйста, объясни. Я попытался создать таблицу базы данных и не знаю, как сделать первичный ключ внешним ключом. Применяется ли концепция соединений, в которой разделяющий атрибут автоматически создает внешний ключ?

Пожалуйста, задавайте по одному вопросу в каждом посте. (Очевидно--) Это часто задаваемые вопросы. Прежде чем рассматривать публикацию, пожалуйста, всегда гуглите любое сообщение об ошибке и множество четких, кратких и точных формулировок вашего вопроса/проблемы/цели, с вашими конкретными строками/именами и без них; прочитал много ответов. Если вы публикуете вопрос, используйте одну фразу в качестве заголовка. См. Как спросить и тексты при наведении указателя мыши на стрелку голосования. PS Это не понятно. Используйте достаточное количество слов, предложений и ссылок на части примеров, чтобы ясно и полностью выразить то, что вы имеете в виду.

philipxy 22.05.2019 21:08

Пожалуйста, в вопросах по коду укажите минимальный воспроизводимый пример - вырезать, вставить и выполнить код; пример ввода с желаемым и фактическим выводом (включая дословные сообщения об ошибках); четкая спецификация и объяснение. Это включает в себя наименьший код, который вы можете дать, то есть код, который, как вы показываете, в порядке, расширенный кодом, который вы показываете, не в порядке. (Основы отладки.)

philipxy 22.05.2019 21:08
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
0
2
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Кроме того, первичный ключ не может иметь значение NULL, в то время как уникальный ключ может иметь значение NULL.

Но самая большая разница заключается в цели:

Вы хотите иметь первичный ключ, потому что вам нужен идентификатор

С другой стороны, уникальный ключ/индекс полезен для управления значениями, которые автоматически вставляются в вашу таблицу (например, чтобы избежать дубликатов, где они не разрешены).

Если вы хотите использовать столбец в качестве ключа подделки, вам нужно сначала определить его как первичный ключ. Уникальное ограничение не может быть связано с другими таблицами как внешний ключ.

Другие вопросы по теме