Большой (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_Category
WHERE
значения из строки / 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' = ....
Я бы порекомендовал прочитать учебник выше, хотя, как если бы вам нужно было внести какие-либо изменения или написать новые запросы, было бы хорошо, если бы вы знали сами.