Большой (ish) Mysql запрос на обновление

У меня есть небольшой запрос MySql Update, который я хотел бы выполнить для таблицы в моей базе данных.

Таблица имеет 10 столбцов, но уместны следующие:

Product_Name, varchar(255), Nullable Product_Category, varchar(255), Nullable Product_Tag, varchar(255), Nullable

Пример:

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

я бы хотел UPDATE Product_Tags столбец с конкатенацией значений из Product_Name а также Product_CategoryWHERE значения из строки / varchar для вставки находятся в Product_Name столбец, как показано выше. У меня уже есть комбинации в формате.csv, если это будет проще.

Какой будет правильный синтаксис MySql для этого запроса?

3 ответа

Решение

Хотите обновить все строки таблицы? Если так, сделайте этот запрос:

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

Было бы хорошо увидеть, что у вас есть, по сути, вам нужно будет использовать UPDATE table_name SET 'Product_Tags' = ....

Я бы порекомендовал прочитать учебник выше, хотя, как если бы вам нужно было внести какие-либо изменения или написать новые запросы, было бы хорошо, если бы вы знали сами.

Другие вопросы по тегам