A PRIMARY KEY is a unique index where all key columns must be defined as NOT NULL. If they are not explicitly declared as NOT NULL, MySQL declares them so implicitly (and silently).
Some kind of warning, mybe, would be appropriate if one creates a primary key with nullable columns.
Even if you have a checkmark on 'allow null' on field inside index, it will create primery key without any warning.