【问题标题】:How to use concat() to append to multiple columns in a single mysql update如何使用 concat() 在单个 mysql 更新中追加到多个列
【发布时间】:2012-07-19 20:50:09
【问题描述】:

我无法弄清楚具有多个连接的 Mysql 更新的语法。我希望能够将一个字符串附加到存储在数据库中的字符串的末尾,但同时对多个列执行此操作。我可以一次做一列就很好了

UPDATE `table1`.`column1` SET `category1` = CONCAT(category1,'$value[0]',) WHERE `id`='$id';  

但是当我尝试对同一个表中的多个列执行此操作时,我得到一个语法错误。

UPDATE `table1`.`column1`
SET `category1` = CONCAT(category1,'5'),
    `category2` = CONCAT(category2,'5'),
    `category3` = CONCAT(category3,'5'),
    `category4` = CONCAT(category4,'5'),
    `category5` = CONCAT(category5,'5'),
    `comments` = CONCAT(comments, 'jfsaklfsad')
WHERE `for_student_id`='46'; 

“您的 SQL 语法有错误;”

我找不到分隔每个 concat 的语法。

【问题讨论】:

  • 可能只是“UPDATE table1 SET ...”——否则请向我们展示您的表结构
  • 如果我们假设table1 是你的桌子,那么column1 是什么?
  • 您使用模式(数据库名称)来限定 table_name,UPDATE mydatabase.table1 SET

标签: mysql concat multiple-columns


【解决方案1】:

根据 MySQL 文档,UPDATE 不支持这种语法。您必须在 SET 之前引用表名,不包括列:

UPDATE `table1`
SET `category1` = CONCAT(category1,'5'),
    `category2` = CONCAT(category2,'5'),
    `category3` = CONCAT(category3,'5'),
    `category4` = CONCAT(category4,'5'),
    `category5` = CONCAT(category5,'5'),
    `comments`  = CONCAT(comments, 'jfsaklfsad')
WHERE `for_student_id`='46'; 

【讨论】:

    猜你喜欢
    • 2021-05-30
    • 2015-12-02
    • 2017-01-21
    • 2016-08-31
    • 2016-05-25
    • 1970-01-01
    • 2015-02-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多