Правильно. COUNT (*) - это все строки в таблице, COUNT (выражение) - это то, где выражение не является ненулевым.
Если все столбцы имеют значение NULL (что указывает на то, что у вас нет первичного ключа, поэтому это не должно происходить в нормализованной базе данных) COUNT (*) still возвращает все вставленные строки. Просто не делай этого.
Вы можете думать о символе * как о значении «в таблице», а не «в любом столбце».
Это описано в Справочном руководстве MySQL .