查找MySQL中包含特定字符串的所有链接并将其从所有链接中删除
问题描述:
我试图从我的数据库中的链接中删除“http://www.mydomain.com/?”,它在那里找到。 有没有简单的方法自动执行它?查找MySQL中包含特定字符串的所有链接并将其从所有链接中删除
我的链接在表wp_postmeta。 meta_key被称为_tdomf_custom_permalink,链接位于meta_value中。 正如我所说的,链接有这个结构http://www.mydomain.com/?http://www.anotherdomain.com/和http://www.mydomain.com/?必须删除。
谢谢!
答
UPDATE wp_postmeta set _tdomf_custom_permalink = replace(_tdomf_custom_permalink, 'http://www.mydomain.com/?', '') WHERE _tdomf_custom_permalink like 'http://www.mydomain.com/?%'
答
海兰,这是简单的
$query = "SELECT links FROM tabe_name";
$result = msqyl_query($query);
while($row = mysql_fetch_assoc($result)) {
$id = $row['id'];
$replace = str_replace("http://www.mydomain.com/?","",$row['links']);
$query_replace = mysql_query("UPDATE table_name SET link = '$replace' WHERE id = '$id'");
}
此代码是可以理解你,如果你是一个初学者,因为有很多方法可以做一个单一的SQL查询。
添加WHERE子句并开始看起来不错 – RichardTheKiwi 2011-04-07 03:29:13
如果数据字段的子集包含“http://www.mydomain.com/?”,那么您可以在此查询中使用WHERE子句。与wp_postmeta中所有记录的数量成比例。如果很小,当然WHERE会提高查询性能。 WHERE子句看起来像“WHERE _tdomf_custom_permalink like'http://www.mydomain.com/?%'” – Nemoden 2011-04-07 07:04:31
WHERE将包含双精度%。其原因是不做更多的变化比要求,而不是更多的搜索,因为它会扫描。更改涉及日志记录,潜在触发器,索引更新等 – RichardTheKiwi 2011-04-07 07:09:04