Ответ
Нет, Primary Key не может быть NULL. По определению, Primary Key должен быть уникальным и непустым (NOT NULL) для каждой записи в таблице. Это гарантирует, что каждая строка может быть однозначно идентифицирована.
Пример с SQL:
CREATE TABLE users (
id INT PRIMARY KEY, -- автоматически NOT NULL
name VARCHAR(100)
);
Если попытаться вставить NULL в Primary Key:
INSERT INTO users (id, name) VALUES (NULL, 'John'); -- вызовет ошибку
Для создания составного Primary Key из нескольких полей ни одно из этих полей не может содержать NULL:
CREATE TABLE orders (
user_id INT NOT NULL,
order_id INT NOT NULL,
PRIMARY KEY (user_id, order_id)
);