我需要在我的数据库中更新数千条记录,并且无法弄清楚如何做一些事情......我已经四处寻找,但我找不到像我需要的那样的东西。我没有很多练习MySql& phpmyadmin的
以下是我需要做的事情:
示例
from
31.example.com/blabla/ciao.jpg
31.example.com/lablar/hello.png
31.example.com/albalb/hallo.gif
to
40.example.com/blabla/ciao.jpg
40.example.com/lablar/hello.png
31.example.com/albalb/hallo.gif -- stays the same
如果我想将 http:// 替换为 https:// 仅在某些网址/域
上将所有http://替换为http://如果是域“example”:
40.example.com/blabla/ciao.jpg
31.example.com/lablar/hello.png
27.example.com/lablar/hello.png
18.example.com/lablar/hello.png
如果域名不是example.com,请不要更改:
www.teestdomain.com/lablar/hello.png
teestdomain.com/lablar/hello.png
对于我尝试过的第二个,但显然这会将所有http更改为所有链接上的https
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://', 'https://')
如果网址包含http://40.example.yourdomains.com
& http://50.example.yourdomains.com
它无法正常工作
答案 0 :(得分:1)
第一个看起来像是:
update t
set col = concat('40.example.com/', substr(col, 16))
where col like '31.example.com/%' and col not like '%.gif';
第二个不清楚。你说你想要替换字符串中甚至不存在的东西,所以它没有意义。
我认为您的问题的答案是:使用where
子句过滤要更新的行。