SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.09.2011 16:27:13

moose
Участник
Зарегистрирован: 07.04.2011
Сообщений: 16

помогите с update запросом

Всем привет.
Помогите пожалуйста з простым запросом
не могу сделать апдейт нужных полей таблицы из SELECT phone FROM users_pi where phone REGEXP  "^1[1-3]{8,12}" подзапроса при условии where phone REGEXP  "^1[1-3]{8,12}"


update users_pi
    set users_pi.phone =
        (SELECT phone from (
            select concat('+3', phone) FROM users_pi where phone REGEXP  "^1[1-3]{8,12}") as temp )
where phone REGEXP  "^1[1-3]{8,12}"



выдает ошибку

[3] ERROR_SQL
update users_pi
set users_pi.phone =
(SELECT phone from (
select concat('+3', phone) FROM users_pi where phone REGEXP "^1[1-3]{8,12}") as temp )
where phone REGEXP "^1[1-3]{8,12}" / Subquery returns more than 1 row
 


SELECT phone FROM users_pi where phone REGEXP  "^1[1-3]{8,12}"

выдает нужные строки

123123123
123123233
123123333

то что ошибка означает я понимаю, но не знаю как это устранить
буду очень благодарен

Неактивен

 

#2 16.09.2011 17:05:57

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: помогите с update запросом

UPDATE users_pi SET phone = CONCAT('+3', phone) WHERE phone REGEXP "^1[1-3]{8,12}" ?

Неактивен

 

#3 16.09.2011 18:18:19

moose
Участник
Зарегистрирован: 07.04.2011
Сообщений: 16

Re: помогите с update запросом

да, большое спасибо! именно оно, как же я не додумался (

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson