MySQLAdmin用文本中的百分比替换字段中的文本

时间:2017-05-01 14:20:13

标签: mysql replace mysqladmin

使用MySQLAdmin。从Windows服务器移动数据并尝试替换网址中的大小写但未找到匹配项。需要斜杠,因为我不想替换除url之外的任何文本(在post表中)。我认为%20是问题somwhow?

UPDATE table_name SET field = replace(field, '/user%20name/', '/User%20Name/')

实际字符串更像是:

https://www.example.com/forum/uploads/user%20name/GFCI%20Stds%20Rev%202006%20.pdf

3 个答案:

答案 0 :(得分:0)

如果您使用的是MariaDB,则可以使用REGEXP_REPLACE()函数。

但最好的方法是将表转储到文件中。在Notepad ++中打开它

并运行正如图片中指定的正则表达式替换: 模式是:(https:[\/\w\s\.]+uploads/)(\w+)\%20(\w+)((\/.*)+) 替换为:$1\u$2\%20\u$3$4

enter image description here

然后再次导入表格 希望这个帮助

答案 1 :(得分:0)

如果是MariaDB,您可以执行以下操作:

UPDATE table_name SET field = REGEXP_REPLACE(field, '\/user%20name\/', '\/User%20Name\/');

答案 2 :(得分:0)

首先,请检查实际存储在数据库中的内容:InsertPasswordViewModel是一个代表空白的html实体。通常,当您将其存储在数据库中时,它将表示为实际的空格(在存储之前进行转换) - >因此,您的替换与实际数据不匹配。

可能的第二个选项 - 取决于您想要做什么:您看到包含%20的URL,因此您创建了数据库记录(您想要获取),并附加%20 1}} - 当您现在尝试根据实际网址查询结果时,%20将替换为"实际"空格(在查询之前),因此它与您存储的数据不匹配。