簡體   English   中英

如何通過在MySQL中將數據從colum abc復制到colum d來更新表

[英]how to update table by copying data from colum a b c to colum d in MySQL

我有一長串數據,我想從三列復制數據,並將它們組合在一列中,如下圖所示

數據庫的形象

所以結果將如下表所示:任何答案mysql將受到高度贊賞

UPDATE location SET ...類似的東西

在此輸入圖像描述

請嘗試以下查詢:

查詢#1

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

注意:

如果countyconstituency OR ward列包含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

嘗試這個。

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

你可以像這樣使用mysql的CONACT()方法:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM