Bien, la pregunta sería: ¿Esos campos en cuestión contienen vacíos o NULL?
Si tienen vacíos (''), tu borrado debería funcionar, pero si tienen NULL no, porque un '' no es igual a NULL...
Código sql:
Ver originalDELETE *
FROM rank
WHERE nombre="" OR nombre IS NULL;
Además de eso, si la mayoría de los registros de la tabla están vacíos, existe la posibilidad de que esté mal diseñado el modelo, o mal diseñado el formulario de entrada.
Digo esto porque tantos registros con un grupo de campos vacío habla de un conjunto de datos que
puede tener, y cuando no
debe tener, podría darse que esos datos se pudiesen normalizar, colocándolos en una segunda tabla vinculada por FK.
Es posible que también la cosa esté mal manejada en el formulario, ya que si los datos
debieran estar, hay que validar el ingreso para que el usuario no los omita.
Como sea, es una observación.