En mi base de datos tengo muchos usuarios que han escrito mal su dirección de correo electrónico. Esto a su vez hace que mi postfix reboten muchos correos al enviar el boletín.
Las formas incluyen (pero no están limitadas a) "yaho.com", "yahho .com", etc.
¡Muy molesto!Mysql: cómo actualizar el "dominio.com" en "direcció[email protected]"
Así que he estado tratando de actualizar esos registros con el valor correcto.
Después de ejecutar select email from users where email like '%@yaho%' and email not like '%yahoo%';
y obtener la lista, estoy atascado porque no sé cómo actualizar solo la parte yaho
. Necesito que el nombre de usuario quede intacto.
Así que pensé que lo haría simplemente volcar la base de datos y utilizar vim para reemplazar, pero no puede escapar el símbolo @
..
Por cierto, ¿cómo puedo seleccionar todas las direcciones de correo electrónico escritos en mayúsculas? select upper(email) from users;
simplemente transformaría todo en CAPS, mientras que solo necesitaba averiguar los correos ya escritos en CAPS.
Si necesita direcciones de correo electrónico válidas, se puede añadir una verificación de e-mail con el registro? No puede garantizar que el cambio de [email protected] a [email protected] llegue realmente a su usuario registrado, ni que tampoco genere un rebote. –
De hecho, tienes razón, también pensé que cualquier persona cuerda debería agregar validación. Pero yo soy el administrador de sistemas aquí y pensé en abordar la situación desde mi lado. Tendrá que enviar un error o algo. – w00t