Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新mysql数据库替换字符串_Mysql_Replace - Fatal编程技术网

更新mysql数据库替换字符串

更新mysql数据库替换字符串,mysql,replace,Mysql,Replace,我的数据库字符串中有www.domain.com和。我希望在http://中添加所有条目,但不影响其他URL,因此: 这只能通过mysql实现吗?我使用了REPLACE(字段,'www','http://www”),但这也将替换为 提前谢谢 编辑 我忘了提到字段中可能有不包含www或的条目,因此我不想更改,或者可能有像这样的条目,其中CONCAT()在http://before前面添加一个WHERE子句,以仅更新尚未包含“http://”的字段。像这样测试一下 SELECT CONCAT('h

我的数据库字符串中有www.domain.com和。我希望在http://中添加所有条目,但不影响其他URL,因此:

这只能通过mysql实现吗?我使用了REPLACE(字段,'www','http://www”),但这也将替换为

提前谢谢

编辑


我忘了提到字段中可能有不包含www或的条目,因此我不想更改,或者可能有像

这样的条目,其中CONCAT()在http://before
前面添加一个
WHERE
子句,以仅更新尚未包含“http://”的字段。像这样测试一下

 SELECT CONCAT('http://', field) FROM foo WHERE LOCATE('http://', field)=0
您的
更新
语法是:

UPDATE foo SET field=CONCAT('http://',field) WHERE LOCATE('http://', field)=0

我不会担心性能,因为这看起来像是一个一次性的脚本。也就是说,您可以结合并实现以下目标:

UPDATE  mytable
SET     mycolumn = CONCAT('http://',mycolumn)
WHERE   LEFT(mycolumn,7) <> 'http://'
更新mytable
设置mycolumn=CONCAT('http://',mycolumn)
左图(mycolumn,7)“http://”

请注意,我没有考虑资本化。您还可以考虑在将信息添加到数据库之前对其进行消毒,或者为您触发一个触发器。

< p>搜索和替换查询-mysql替换

以下是替换MySQL数据库表中字符串的SQL查询:

UPDATE table_name SET column_name = REPLACE(column_name,'original_string','replace_string')
以下是我在以前的所有文章中更改路径URL所做的操作

UPDATE `wp_posts` SET `post_content` = REPLACE(`post_content`,'http://localhost/','https://sureshkamal1.wordpress.com/')

+1,也是另一个可行的选择。为什么没有
WHERE
?这是不是太多余了?添加类似于
的内容,如CONCAT(“%s”、“原始字符串”、“%”)
,需要花费多少钱?我想知道…