2016-10-29 3 views
0

У меня есть таблица mysql с именами пользователей и их почтовым адресом. Я хочу обновить значения в строке usernames, чтобы они совпадали с почтовым адресом, кроме домена. Например, на [email protected] пользователь будет обновлен с помощью «jondoe».Изменение значений строк на основе других значений строки (текст)

Есть ли возможность сделать это с помощью запроса?

ответ

1

Это делает то, что вы хотите?

update t 
    set username = substring_index(email, '@', 1); 

Следует отметить, что разные люди могут иметь одинаковое имя электронной почты в разных доменах. Поэтому вы должны быть осторожны, чтобы не создавать дубликаты.

Если возникнут проблемы, тогда задайте еще один вопрос.

+0

Этот запрос дал мне синтаксическую ошибку. Я изменил все имена для тех, которые соответствуют моим таблицам и полям. – manuel

+0

@manuel, Гордон Линофф не достигнет ясновидения, пока не достигнет 500 тысяч очков. Что, если вы * сказали нам, что эта ошибка на самом деле была *? Это облегчит вам помощь. Возможно, была ошибка «ERROR 1062 (23000): Дублировать запись ...'? :-)). – LSerni

+0

@isemi. , , Ошибка была глупой. Я оставил третий аргумент 'substring_index()', и теперь он исправлен. –

Смежные вопросы