【发布时间】:2019-04-10 12:10:57
【问题描述】:
在我的数据库中,我有一些文件路径,有时我需要更新部分路径。如何处理 ex 的特殊字符。更新数据时在\ruba 到\rubla。
\r 是特殊字符
\rubla 来自 C# 输入参数到 SQL 查询
SQL:
update table
set Location = CONCAT('gabiluca.at.gmail.com\folder',
substring(Location, length('gabiluca.at.gmail.com\director') + 1))
where Location like 'gabiluca.at.gmail.com\\\\folder%'
\\\\翻译成\
简单案例:
在 mysql 表中,您有一个 Windows 相对路径存储在名为 Location 的列中。
Id Name Location
38 MuseScore 3.lnk gabiluca.at.gmail.com
39 redenumit gabiluca.at.gmail.com
40 interior gabiluca.at.gmail.com\redenumit
41 FileZilla Client.lnk gabiluca.at.gmail.com\redenumit
42 MuseScore 3.lnk gabiluca.at.gmail.com\redenumit\interior
现在尝试在 mysql 中更新:'redenumit',并在所有记录上使用更新语句。有效吗?保留前缀。例如,当您将文件夹“redenumit”重命名为“changed”时,可以这样想。
我什至不能这样查询(这是问题所在):
select *
from MediaResource
where Location like 'gabiluca.at.gmail.com\redenumit%'
【问题讨论】:
-
您在寻找verbatim string literals吗?
-
您能否更新一下您在查询中尝试执行的操作?例如,值 'a' 到值 'b'
-
@ZoharPeled 是的,但是对于 mysql
-
@sabharikarthik 我更新了我的问题。如果重命名内部文件夹,我需要更新数据库中的相对路径。