大(多)Mysql 更新查询

Large(ish) Mysql Update query

我有一个稍大的 MySql 更新查询,我想 运行 在我的数据库中的 table 上。

table有10列,但相关的如下:

Product_Name、varchar(255)、可为空 Product_Category、varchar(255)、可为空 Product_Tags、varchar(255)、可为空

示例:

|  Product_Name   | Product_Category |   Product_Tags  |
|      prod1      |       cath       |    prod1 cath   |
|      prod2      |       cate       |    prod2 cate   |
|      prod3      |       catk       |    prod3 catk   |

我想 UPDATE Product_Tags 列与 Product_NameProduct_Category WHERE 字符串/varchar 中的值串联如上图所示,要插入的内容位于 Product_Name 列中。我已经有了 .csv 格式的组合,如果那样会更简单的话。

此查询的正确 MySql 语法是什么?

是否要更新 table 的所有行?如果是这样,请执行此查询:

UPDATE `tablename` SET `Product_Tags` = CONCATENATE(`Product_Name`, ' ', `Product_category`)

(但我不确定你想用 Product_Tags 列实现什么。)

我会选择类似的东西:

UPDATE Product_Tags SET Product_Tags = CONCAT_WS(" ", Product_Name, Product_Category);

我不确定我是否理解问题的 WHERE 部分。您能否更详细地说明您是如何决定这应该影响哪些行的?

这应该对您有帮助:

https://www.w3schools.com/sql/sql_update.asp

最好看看你目前有什么,本质上你需要使用 更新 table_name SET 'Product_Tags' = ....

我建议阅读上面的教程,如果您需要进行任何更改或编写新查询,最好自己掌握这些知识。