2017-07-11 8 views
-1

データベースのテーブルで実行したいMySql Updateクエリが少しあります。大きな(ish)Mysql更新クエリ

表10の列を有しているが、関連するものは以下の通りである:

PRODUCT_NAME、VARCHAR(255)、NULL可能 PRODUCT_CATEGORY、VARCHAR(255)、NULL可能 Product_Tags、VARCHAR(255)、NULL可能

例:

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

IはProduct_Nameおよび01からの値を連結してProduct_TagsカラムをUPDATEたいWHERE挿入する文字列/ varcharの値は、上記の図のようにProduct_Name列にあります。私は既に.csv形式の組み合わせを持っています。

このクエリの正しいMySql構文は何でしょうか?

+0

このようにはなりません。代わりに 'tags'テーブルと製品にタグをリンクするテーブルを追加してください。それは将来の検索をより簡単にします。 – jeroen

答えて

0

テーブルのすべての行を更新しますか?もしそうなら、このクエリを実行します。

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

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

(。しかし、私はあなたがProduct_Tags列に達成したいのかわからないんだけど)

+0

ありがとう、これは完全に働いた。 Product_Tags列は、後で検索クエリに使用され、タグが追加されます。私はちょうどその時点でそのフィールドに初期の名前とカテゴリが必要でした。 はFYI、私が使用する構文は以下のとおりであった: UPDATE 'Product_Data' SET' Product_Tags' = CONCAT( 'Product_Name'、 ''、' Product_Catagory') –

0

を私のようなものでいいよ私は質問のWHEREの部分を理解しているか分からない。どの行が影響を受けるかをどのように決めているかについてもう少し詳細を教えてください。

0

これはあなたを助ける必要があります。

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

それはあなたがこれまで持っているものを見るために良いだろう、本質的にはあなたが UPDATE table_nameの SET「Product_Tags」=を使用する必要があります....

上記のチュートリアルを読むことをお勧めします。変更を加えたり、新しいクエリを書く必要がある場合は、自分で知識を得るのがよいでしょう。

+0

どうもありがとうございました、私は間違いなく取得するためにそれを読み取りをあげますMySqlをより強固に把握することができます。 –

関連する問題