Juist. COUNT(*) zijn alle rijen in de tabel, COUNT(Expression) is waar de expressie alleen niet-null is.
Als alle kolommen NULL zijn (wat aangeeft dat je geen primaire sleutel hebt, dus dit zou niet moeten gebeuren in een genormaliseerde database) COUNT(*) still geeft alle ingevoegde rijen terug. Doe dat gewoon niet.
U kunt het *-symbool zien als "in de tabel" en niet "in een kolom".
Dit wordt behandeld in de MySQL Reference Manual .