Первичный ключ в SQL — это поле или комбинация полей, которые однозначно идентифицируют определённую строку в таблице. 1 Он гарантирует отсутствие дубликатов строк в таблице, а также позволяет эффективно выполнять запросы и индексировать таблицу. 1
Внешний ключ — это столбец или набор столбцов, которые ссылаются на первичный ключ другой таблицы. 1 Он используется для установления связи между двумя таблицами. 1 Внешний ключ таблицы должен соответствовать значению первичного ключа таблицы, с которой он связан. 2 Это помогает сохранять согласованность базы данных путём обеспечения так называемой «ссылочной целостности». 2
Таким образом, основное отличие в том, что первичный ключ определяет строку в таблице, а внешний ключ устанавливает связь между таблицами. 5