Non, vous n'avez pas besoin une clé primaire pour faire fonctionner une table dans MySQL. Cela dit, une clé primaire permet à une valeur unique de faire référence à une ligne dans une table à partir d'une autre table, ou dans n'importe quel code utilisant la table.
Vous avez besoin d'une clé primaire pour qu'une table fonctionne bien dans MySQL cependant. Les index (dont la clé primaire fait partie) permettent à MySQL de rechercher dans de petits sous-ensembles hautement optimisés de la table pour traiter les relations et les recherches. En général, tous les champs que vous utilisez dans un WHERE
La clause ou l'utilisation pour lier deux tables ensemble doit être indexée.