【问题标题】:How to add extra folder to multiple paths stored in MySQL database? From `Folder\file.jpg` to `Folder\New Folder\file.jpg`? [duplicate]如何将额外的文件夹添加到存储在 MySQL 数据库中的多个路径中?从 `Folder\file.jpg` 到 `Folder\New Folder\file.jpg`? [复制]
【发布时间】:2020-10-06 02:07:28
【问题描述】:

详情:

我已将物理路径存储到 MySQL 表中。我已将所有内容移至新文件夹。

这是数据库中的数据:

Current data---

g:\Folder1\File 1.jpg
g:\Folder1\Excel File.xlsx
g:\Folder1\Test.js

期望的改变:

这是我想要实现的,在文件名之前的路径中添加一个额外的文件夹。

Desired---

g:\Folder1\New Folder\File 1.jpg
g:\Folder1\New Folder\Excel File.xlsx
g:\Folder1\New Folder\Test.js

问题

我怎样才能做到这一点?为了将来,我如何从路径中删除特定文件夹?

【问题讨论】:

标签: mysql


【解决方案1】:

只需按照this SO question 中的说明使用 REPLACE

UPDATE table
SET fied = REPLACE(field, 'g:\Folder1\', 'g:\Folder1\New Folder\')

它未经测试,因此您可能需要修复 \ 转义

由于 REPLACE 使您能够将字符串替换为另一个字符串,因此您只需将字符串修改为“添加或删除文件夹”

【讨论】:

    【解决方案2】:

    使用替换功能:

    SELECT replace(filename, "Folder1\\", "Folder1\\New Folder\\")
    FROM your_table;
    

    您可以指定驱动器号的路径以避免随机数据被替换。

    【讨论】:

    • 这只会显示更新的数据。它不会在数据库中更新它们
    • 当然可以,但它提供了一种使用这条新路径做任何事情的方法——存储它或只是显示。
    猜你喜欢
    • 2013-03-20
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 2016-02-10
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    相关资源
    最近更新 更多