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

你需要UPDATEJOIN这样:

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 回答