通常我会发布代码,但这次我不知道从哪里开始,或者我可能只是将一个简单的问题复杂化。
问题
所以我有一个表将URL路径存储为字符串
(Example: 192.168.x.x\Location\Location2\SPECIALNAME\Folder\Folder2)
这允许我们在客户端构建文件夹/文件存储库,以便我们的用户添加文件和访问文件。
我的问题是如何更新与匹配
相关的所有字段 "\SPECIALNAME\"
并将'SPECIALNAME'
替换为其他值(如果此人更改了主文件夹的名称,则应使用新名称更新链接到此文件夹的所有子文件夹和内容)
尝试更清楚地说明问题:
如果我的位置存储在我的表格中:
URL\ **SPECIALNAME** \FOLDER\SUBFOLDER
URL\ **SPECIALNAME** \FOLDER\SUBFOLDER\SUBSUBFOLDER1
URL\ **SPECIALNAME** \FOLDER\SUBFOLDER2
URL\ **SPECIALNAME** \FOLDER\SUBFOLDER2\SUBSUBFOLDER1\SUBSUBFOLDER2
URL\ **SPECIALNAME** \FOLDER\OTHERFOLDER
我想专门更新SPECIALNAME所在的字段,用户可能将其更改为新名称。
此更新语句可能会在单个名称更改时进行80多个更新批量,以便透视将使用新名称更新多少URL路径
答案 0 :(得分:4)
UPDATE table SET url = REPLACE(url, '\\SPECIALNAME\\', '\\MORESPECIALNAME\\') WHERE url LIKE '%\\SPECIALNAME\\%';
答案 1 :(得分:1)
从查询开始:
SELECT *
FROM tablename
WHERE path LIKE "%SPECIALNAME%"
然后你可以遍历结果和
$newPath = STR_replace("SPECIALNAME", "NEWNAME", $query['path']);