Первичный ключ просто должен быть уникальным, и это не обязательно означает, что он должен генерироваться автоматически. Это также не означает, что его нельзя изменить.
Вполне возможно, что человек может придумать первичный ключ, и в этом случае поле pk требует ввода.