Ограничение UNIQUE и ограничение PRIMARY KEY в MySQL отличаются по своему назначению и поведению. 14
Ограничение UNIQUE означает, что в указанных столбцах обязательно должны быть уникальные значения. 1 В одной таблице может быть задано несколько ограничений UNIQUE, в отличие от одного ограничения PRIMARY KEY. 1 Кроме того, в отличие от ограничений PRIMARY KEY, ограничения UNIQUE допускают значения NULL. 1
Ограничение PRIMARY KEY определяет столбец или набор столбцов, значения которых однозначно идентифицируют строку в таблице. 1 То есть никакие две строки в таблице не могут иметь одинаковое значение первичного ключа. 1 Также нельзя вводить значение NULL в столбец первичного ключа. 1
Таким образом, UNIQUE используется, когда нужно обеспечить уникальность столбца или комбинации столбцов, которые не являются первичным ключом, а PRIMARY KEY — для создания идентификатора, с которым соотносится каждая строка в таблице. 2