В моей базе данных у меня много пользователей, которые ошибочно написали свой адрес электронной почты. Это, в свою очередь, заставляет мой постфикс отказываться от большого количества писем при отправке информационного бюллетеня.
Формы включают (но не ограничиваются ими) "yaho.com", "yahho .com" и т. Д.
Очень раздражает!Mysql - как обновить «domain.com» в «[email protected]»
Так что я пытался обновить эти записи до нужного значения.
После выполнения select email from users where email like '%@yaho%' and email not like '%yahoo%';
и получения списка, я застрял, потому что не знаю, как обновить только часть yaho
. Мне нужно, чтобы имя пользователя оставалось нетронутым.
Так я думал, что просто дамп базы данных и использовать Vim для замены, но я не могу избежать @
символ ..
Кстати, как я могу выбрать все адреса электронной почты, написанные в CAPS? select upper(email) from users;
просто превратил бы все в CAPS, тогда как мне просто нужно было узнать уже написанные в CAPS письма.
Если вам требуются действительные адреса электронной почты, вы можете добавить проверку по электронной почте при регистрации? Вы не можете гарантировать, что изменение [email protected] на [email protected] действительно достигнет вашего зарегистрированного пользователя, а также не приведет к отказу. –
Действительно, вы правы, я также думал, что любой здравомыслящий человек должен добавить подтверждение. Но я всего лишь администратор, и я подумал, что я должен решить эту проблему с моей стороны. Должен представить ошибку или smth. – w00t