最佳答案
尝试以下查询:
查询#1
UPDATE location SET more = CONCAT(county,' ',constituency,' ',ward);
注意:
如果 county
或 constituency
或 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
)
关于mysql - 如何通过将数据从 a b c 列复制到 MySQL 中的列来更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35768803/