使用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
答案 0 :(得分:0)
如果您使用的是MariaDB,则可以使用REGEXP_REPLACE()函数。
但最好的方法是将表转储到文件中。在Notepad ++中打开它
并运行正如图片中指定的正则表达式替换:
模式是:(https:[\/\w\s\.]+uploads/)(\w+)\%20(\w+)((\/.*)+)
替换为:$1\u$2\%20\u$3$4
然后再次导入表格 希望这个帮助
答案 1 :(得分:0)
如果是MariaDB,您可以执行以下操作:
UPDATE table_name SET field = REGEXP_REPLACE(field, '\/user%20name\/', '\/User%20Name\/');
答案 2 :(得分:0)
首先,请检查实际存储在数据库中的内容:InsertPasswordViewModel
是一个代表空白的html实体。通常,当您将其存储在数据库中时,它将表示为实际的空格(在存储之前进行转换) - >因此,您的替换与实际数据不匹配。
可能的第二个选项 - 取决于您想要做什么:您看到包含%20
的URL,因此您创建了数据库记录(您想要获取),并附加%20
1}} - 当您现在尝试根据实际网址查询结果时,%20
将替换为"实际"空格(在查询之前),因此它与您存储的数据不匹配。