如何通过将数据从colum a b c复制到MySQL中的colum来更新表

时间:2016-03-03 09:57:55

标签: mysql

我有一长串数据,我想复制三列数据并将它们合并到一列中,如下图所示

image of database

所以结果如下表所示: 任何答案mysql都将受到高度赞赏

即。 UPDATE location SET ...类似的东西

enter image description here

3 个答案:

答案 0 :(得分:4)

尝试以下查询:

<强>查询#1

UPDATE location SET more = CONCAT(county,' ',constituency,' ',ward);

注意:

如果countyconstituencyward列包含NULL那么您可以在更新前检查null:

<强>查询#2

UPDATE location
SET more = CONCAT( IFNULL(county, ''),' ',IFNULL(constituency, ''),' ',IFNULL(ward,''));

为什么要选择Query#2

您可能会了解使用IFNULL背后的原因:

SELECT CONCAT('ABCD',null,'EFGH');

结果: NULL

SELECT CONCAT('ABCD',IFNULL(null,''),'EFGH')

结果: ABCDEFGH

<强>注意:

CONCAT_WS可能会遇到数据丢失。以下示例是一个很好的指示:

SELECT CONCAT_WS('ABCD',null,'EFGH')

结果: EFGH。 (你刚失去了ABCD

答案 1 :(得分:3)

试试这个。

UPDATE location SET more = CONCAT_WS(' ',county,constituency,ward);

答案 2 :(得分:1)

你可以像这样使用mys {的CONACT()方法:

UPDATE your_table SET d = CONCAT CONCAT(a ,' ' ,b ,' ' ,c);