mysql-用百分号替换字符串

mysql-用百分号替换字符串,mysql,replace,special-characters,database-administration,Mysql,Replace,Special Characters,Database Administration,在特定列中,我需要将“”的所有实例批量替换为“http://”。目的是去掉表示空白的%20 HTML实体 我试过了 update content set fulltext = replace(fulltext,'http://%20','http://'); 但不断得到一个错误代码#1064 content是表名,flutist是列 我想必须对百分号做些什么,因为MySQL将解析为通配符 Ubuntu 14.04 LTS上的MySQL 5.5.43。全文版是 添加反勾号 `fulltext`

在特定列中,我需要将“”的所有实例批量替换为“http://”。目的是去掉表示空白的%20 HTML实体

我试过了

 update content set fulltext = replace(fulltext,'http://%20','http://');
但不断得到一个错误代码#1064

content是表名,flutist是列

我想必须对百分号做些什么,因为MySQL将解析为通配符


Ubuntu 14.04 LTS上的MySQL 5.5.43。

全文版

添加反勾号

`fulltext` 

或使用其他字段名。

全文
是保留字。在字段名周围添加反勾号“`”,或使用其他字段名%1是一个特殊字符。你有没有试着逃离它?如下所示:替换(全文,\%20',”@佩卡웃 . . . 您应该添加您的评论作为答案,以便OP可以接受。错误消失了。谢谢现在我只需要找到一种使用通配符查找匹配项的方法。更新kqju_内容集
fulltext
=替换(
fulltext
,“%%20http%”,以及“http://”);他没有耍花招。我以为MySQL会将第一个%解析为操作通配符,但事实并非如此。@manchine不确定第一个
%
会做什么
REPLACE()
应该在任何地方替换字符串,不需要通配符,不是吗?不太需要;运行查询后,我仍然找到%20http://的实例。似乎它的语法与它们不匹配。
%
通常不是特殊字符。仅当使用
LIKE
时才将其视为通配符。该列可能包含一些不可打印的字符,如
\0
,介于
%20
http://
之间?这也许可以解释为什么替换在所有情况下都不起作用。