| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > SQL - запрос по замене телефонных номеров |
| Автор: addtanya 21.7.2008, 10:36 |
| привет! помогите разобраться с запросом! Есть таблица саlls? в ней поля id, phone_id (идентификатор тел-на), call_num (исх. вонок), call_num_in(вх. звонок), и др. (прим. phone_id h2135, и 00135, call_num_in %682135% и %00135%) Задача: заменить все звонки с номера %682135% на номер %00135% Запрос: update calls set phone_id = 'h2135', call_num_in like '%00135%' where phone_id = 'h2135' не совсем понимаю как работает оператор update, отсюда и неуверенность в правильности этого запроса... Добавлено через 1 минуту и 27 секунд привет! помогите разобраться с запросом! Есть таблица саlls? в ней поля id, phone_id (идентификатор тел-на), call_num (исх. вонок), call_num_in(вх. звонок), и др. (прим. phone_id h2135, и 00135, call_num_in %682135% и %00135%) Задача: заменить все звонки с номера %682135% на номер %00135% Запрос: update calls set phone_id = 'h2135', call_num_in like '%00135%' where phone_id = 'h2135' не совсем понимаю как работает оператор update, отсюда и неуверенность в правильности этого запроса... |
| Автор: Kesh 21.7.2008, 10:44 | ||
такое можно только в WHERE ставить... Тут надо по-другому действовать... Добавлено через 3 минуты и 18 секунд Еще вопросик... Для вас % имеет какой-то сакральный смысл? Или же это все-таки маска? |
| Автор: addtanya 21.7.2008, 11:52 |
| % я использую чтобы не вводить номер полностью, сам телефон был бы, например, таким 4852500135 |
| Автор: skyboy 21.7.2008, 12:12 |
как это должно менять? приведи пример. а то пока непонятно. |
| Автор: addtanya 21.7.2008, 12:21 |
| пример: есть телефон 682135, в базе он прописан так (поле phone_id - h2135) с него идут звонки на множество различных номеров, есть еще номер 100135 (phone_id 00135) нужно чтобы все звонки с телефона h2135 (он идентифицируется так) были перенесены на 00135. по сути должна быть произведена замена поля phone_id h2135 на phone_id 00135, по факту после этой замены все звонки принадлежащие телефону h2135 должны переехать на 00135, а самого номера h2135 после этой замены должно не быть. Звонки с этих телефонов находяться в полях call_num и call_num_in. |
| Автор: skyboy 21.7.2008, 12:40 | ||
тогда объясни мне, дураку, почему не сделать так:
|
| Автор: addtanya 21.7.2008, 13:02 |
| это не ты дурак... я попробовала твой вариант но пишет ошибку: SQL Server has run out of LOCKS. Rerun your statement when there are fewer active users, or ask the system administrator to reconfigure SQL Server with more LOCKS. мой вариант тоже не катит update calls set phone_id = '00135', call_num_in like '%00135%' where phone_id = 'h2135' не нривиться like да... плохо быть бестолковым и начинающим |
| Автор: addtanya 21.7.2008, 13:20 |
| у меня получилось их заменить спасибо за помощь, я поняла свои ошибки... |
| Автор: Kesh 21.7.2008, 13:21 |
| addtanya, так это не ошибка запроса, а ошибка настройки сервера... |
| Автор: addtanya 21.7.2008, 13:52 |
| да так и есть, теперь с сервером все в порядке и мой запрос выполнился, не совсем корректно правда, но для начала сойдет и так.. спасибо!!! |
| Автор: addtanya 22.7.2008, 14:29 | ||||
а я разве говорила что это mysql ??? |
| Автор: Feldmarschall 22.7.2008, 15:01 |
| девушка, обратите внимание на название форума, в который вы умудрились написать |
| Автор: addtanya 22.7.2008, 15:08 | ||
а мне умудрились ответить.... |
| Автор: Feldmarschall 22.7.2008, 15:09 |
| вас что-то не устраивает? у вас претензии? отвечать не нужно было? |
| Автор: addtanya 22.7.2008, 15:11 | ||
да нет у меня никаких претензий... |