让我们说这个表
+--------------+---------------------------------+
| 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 |
+--------------+---------------------------------+
我不知道如何在mysql中使用str_replace
"UPDATE table SET path = REPLACE(path, 'old.com', 'new.com')"
??我不能在这里弄乱数据库..
答案 0 :(得分:1)
update mytable set path = replace(path, 'old.com', 'new.com');
如果你担心更新的影响(你应该这样做),我首先这样做:
select path, replace(path, 'old.com', 'new.com') as new_path
from mytable;
我只是看看结果,看看他们“看起来不错”。如果他们这样做,如果触发更新。
答案 1 :(得分:0)
mySQL中没有正则表达式替换功能:正则表达式函数仅匹配。这是mysql documentation