【问题标题】:Using concat to put together a simple string, a subquery, and another simple string使用 concat 将一个简单的字符串、一个子查询和另一个简单的字符串放在一起
【发布时间】:2021-08-26 20:29:29
【问题描述】:

我需要使用 concat 创建自定义 sql 语句。

我正在尝试使用

update setuptable set image_loc = CONCAT('/file/to/image/', (select UID from table1), 'nam.jpg')

目标是将setuptable中的image_loc更新为“/file/to/image/UIDnam.jpg”

我收到语法错误和“预期语句结束”。

如何将一个简单的字符串、一个子查询和另一个简单的字符串绑定在一起来更新一个字段?

【问题讨论】:

  • 如果子查询返回 0 或 1 行,您的查询应该可以工作。

标签: mysql sql bash concatenation


【解决方案1】:

我找到了让它工作的方法。如果有人有任何改进的技巧,我很乐意学习! *我不能使用变量

update setuptable set image_loc = CONCAT('/file/to/image/', (select UID from table1)+, 'nam.jpg')

【讨论】:

    【解决方案2】:

    我发现以下结构稍微好一点:

    update setuptable 
    set image_loc = CONCAT('/file/to/image/', t1.UID, 'nam.jpg')
    from table1 t1
    

    我手头暂时没有mysql服务器,所以没有测试。

    【讨论】:

    • 是否将'from table1 t1'放在最后会创建某种变量?我尝试这样做时遇到语法错误。
    • 它创建一个连接,而不是变量。你有什么语法错误?
    • java.sql.SQLException:表达式错误 (9)。 >
    • 你能启动mysql并运行update语句吗?
    猜你喜欢
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 2021-01-22
    • 2013-03-25
    • 2018-01-07
    • 2023-03-16
    • 1970-01-01
    • 2019-05-11
    相关资源
    最近更新 更多