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

Python Senior Okko
В чем разница между уникальным индексом и первичным ключом
Ответы
**Уникальный индекс** гарантирует, что все значения в индексированном столбце (или комбинации столбцов) уникальны, но допускает `NULL` (если не указано `NOT NULL`). **Первичный ключ (PRIMARY KEY)** — это частный случай уникального индекса, который: - Не допускает `NULL` (всегда `NOT NULL`). - Может быть только один на таблицу. - Часто используется для связей (FOREIGN KEY). **Пример:** ``` -- Уникальный индекс (допускает NULL) CREATE TABLE users ( email VARCHAR(255), UNIQUE INDEX (email) ); -- Первичный ключ (запрещает NULL) CREATE TABLE products ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) ); ``` **Вывод:** - Первичный ключ = уникальный индекс + `NOT NULL` + ограничение "один на таблицу". - Уникальный индекс гибче (может быть несколько, может содержать `NULL`).