SQL предложение для обновления доменного имени в строке пути - PullRequest
1 голос
/ 09 ноября 2011

допустим, что эта таблица

+--------------+---------------------------------+
| id           | path                            |
+--------------+---------------------------------+
| 1            | http://old.com/img/1.png        | 
| 2            | http://old.com/img/2.png        | 
| 3            | http://old.com/img/3.png        | 
| 4            | http://old.com/img/4.png        | 
| 5            | http://old.com/img/5.png        | 
| 6            | http://old.com/img/6.png        | 
+--------------+---------------------------------+

какое предложение обновит его до

+--------------+---------------------------------+
| id           | path                            |
+--------------+---------------------------------+
| 1            | http://new.com/img/1.png        | 
| 2            | http://new.com/img/2.png        | 
| 3            | http://new.com/img/3.png        | 
| 4            | http://new.com/img/4.png        | 
| 5            | http://new.com/img/5.png        | 
| 6            | http://new.com/img/6.png        | 
+--------------+---------------------------------+

я не знаю, как str_replace в mysql

"UPDATE table SET path = REPLACE(path, 'old.com', 'new.com')"??я не могу испортить базу данных здесь ..

Ответы [ 2 ]

1 голос
/ 09 ноября 2011
update mytable set path = replace(path, 'old.com', 'new.com');

Если вас беспокоит эффект обновления (и вы должны это сделать), я сначала сделаю это:

select path, replace(path, 'old.com', 'new.com') as new_path
from mytable;

И я просто смотрю на результаты, чтобы увидеть, «хорошо ли они выглядят». Если они это сделают, если запустить обновление.

0 голосов
/ 09 ноября 2011

В mySQL нет функции замены регулярного выражения: функции регулярного выражения совпадают.Вот mysql документация

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...