2012-04-09 79 views
1

我想在一个表中运行一个查询,我将一列的值与另一列连接起来。连接两列值

类似以下(javascripty尝试):

UPDATE table 
SET items = items+","+item1 
WHERE item1 != "No Data" || item1 != ""; 

这可能在数据库中做或做我需要在中间件要干什么呢? 任何指针再次非常感谢。

+0

你可以这样做,但我不记得是什么因为是一个特定的问题。 – 2012-04-10 00:00:10

回答

2

concat_ws看看:

# Untested, but should work 
UPDATE table 
SET items = CONCAT_WS(',', items, item1) 
WHERE item1 != "No Data" || item1 != ""; 
+0

就像一个魅力!谢谢 – Chin 2012-04-10 00:15:28

1

另一种方式来解决这个问题:

UPDATE table 
SET items = CONCAT(items,',',item1) 
WHERE item1 != "No Data" OR item1 != ""; 

一个CONCAT()和CONCAT_WS()函数(如由麦克描述之间的主要区别上面)是他们对NULL值的处理。欲了解更多信息,请参阅MySQL参考手册的字符串函数部分:http://dev.mysql.com/doc/refman/5.6/en/string-functions.html

使用“||”可能还有一些问题, (管道)字符,如果MySQL服务器启用了PIPES_AS_CONCAT模式。以防万一,最好将其更改为“或”: http://dev.mysql.com/doc/refman/4.1/en/server-sql-mode.html#sqlmode_pipes_as_concat