mrzgt: Проверьте, чтобы в колонке email стояло значение NULL. Именно NULL. Если в поле допускается и пустое значение, значит надо делать проверку: email !='' AND email IS NOT NULL
Если и так не получится, то скиньте dump структуры таблицы, я попробую на своем сервере.
mrzgt: Я создал таблицу, аналогичную той, что у вас. Заполнил три строки. Первая, где email - пустое поле, вторая - email = NULL, третья - email = mail@.ru. Сделал запрос:
DELETE
FROM
TABLE
WHERE
`email` IS NOT NULL
AND
`email` <> ''
Результат: в таблице осталось две строки (та, где email = NULL и та, где email пустая строка)
mrzgt: Рад, что все получилось. У вас в таблице поле email имело значение "пустая строка", поэтому выражение IS NOT NULL не срабатывало. Не путайте с значением по умолчанию.