Nej du behöver inte en primärnyckel för att få en tabell att fungera i MySQL. Som sagt, en primärnyckel tillåter att ett unikt värde refererar till en rad i en tabell från en annan tabell, eller i valfri kod som använder tabellen.
Du behöver en primärnyckel för att få en tabell att fungera bra i MySQL dock. Index (som den primära nyckeln är en av) tillåter MySQL att söka igenom små, mycket optimerade delmängder av tabellen för att bearbeta relationer och sökningar. I allmänhet alla fält som du använder i en WHERE
sats eller användning för att länka två tabeller tillsammans bör indexeras.