【问题标题】:SQL query help - merge a value to all rows in a columnSQL 查询帮助 - 将值合并到列中的所有行
【发布时间】:2011-01-28 07:42:24
【问题描述】:

我正在尝试将网站从 joomla 系统迁移到 drupal。问题是drupal需要文件名和源路径在同一行,但joomla只有文件名。我正在寻找一种在该列中所有行的文件名之前添加源路径的方法。 我认为这是我应该使用的 UPDATE 语句,但我不知道如何构造查询。

这里有一个人有类似的问题,但我在该线程中找不到对我的问题有帮助的答案:http://www.daniweb.com/forums/showth...t+value&page=2

有什么建议吗?

【问题讨论】:

    标签: sql merge sql-update


    【解决方案1】:

    将一个值从一列附加到另一列的开头(假设两列在同一个表上):

    update files
    set
       filename = CONCAT(path, filename)
    from files
    

    (您可能需要更正表名/列名。我只是在猜测)

    【讨论】:

    • 或者用字符串文字替换路径,例如"/my/path/here/" 如果所有行都相同。
    • 是的,我会这样做:UPDATE table SET field="/my/path/here/" + filename;
    【解决方案2】:

    @Dexter,感谢您引导我使用 CONCAT 函数!它解决了这个问题。首先,我创建了一个名为 path 的新列,并使用图像路径更新了所有行。然后我运行了这个查询:UPDATE jos_joomgallery SET imgfilename=concat(path,imgfilename);

    jos_joomgallery 当然是桌子。使用 FROM 命令时出现错误,似乎不需要它。

    @tomfanning,我不知道字符串文字是什么,我用谷歌搜索了一下,但找不到任何使用信息。还是谢谢。

    @Jaxidan,我想这可行,但我不知道如何将文件名引用到存储它们的列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-06
      • 2021-03-17
      • 1970-01-01
      • 1970-01-01
      • 2010-10-20
      相关资源
      最近更新 更多