2

2つのMySQLテーブルがあります。

  Table items            Table buffer
---------------         -------------
id     keywords         id      value
1      val1             1       val2
2      val1             2       val2
3      val1             3       val2

キーワードと値はどちらもVARCHAR(250)です。次に、次のようなテーブルアイテムのすべてのキーワードを更新します。

   Table items
-----------------
id     keywords
1      val1, val2
2      val1, val2
3      val1, val2

私はCONCATでこれを達成しようとしましたが、明らかに私は何か間違ったことをしています。手伝ってくれませんか。

4

2 に答える 2

2

あなたはそうする必要がありUPDATEますJOIN

UPDATE items i
INNER JOIN buffer b ON i.id = b.id
SET i.keywords = CONCAT(i.keywords, ', ', b.value);

SQL フィドルのデモ

于 2012-11-20T11:51:24.620 に答える
1

このようにすることもできます:

UPDATE items, buffer 
SET items.keywords = CONCAT(items.keywords, buffer.value) 
where items.id = buffer.id;
于 2012-11-20T11:55:09.793 に答える