В моей базе данных есть несколько путей к файлам, в какой-то момент мне нужно обновить часть пути.Как бороться со спецсимволами для экс.от \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
Теперь попробуйте обновить: 'redenumit' в mysql с оператором обновления для всех записей.Доза это работает?Сохраните префикс.Подумайте об этом, например, когда вы переименуете папку «redenumit» в «измененную», например.
Я даже не могу сделать запрос подобным образом (это проблема):
select *
from MediaResource
where Location like 'gabiluca.at.gmail.com\redenumit%'