En las tablas MyISAM no hay diferencia entre las dos opciones. La única
diferencia es que los índices de clave primaria no pueden contener valores NULL. De esa
manera, un índice PRIMARY es simplemente un índice NOT NULL UNIQUE.
Por el contrario, las tablas InnoDB siempre llevan una clave primaria (primary key). No es necesario indicar una explícitamente, ya que si no se hace MySQL creará una clave primaria de forma automática.
En ambos casos las clave primaria son enteros AUTO_INCREMENT.
Si se añade una clave primaria después de crear una tabla MySQL destruirá la que creó por defecto y que es oculta.