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

标签 mysql

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

image of database

因此结果如下表所示: 任何答案 mysql 将不胜感激

UPDATE location SET ... 类似的东西

enter image description here

最佳答案

尝试以下查询:

查询#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)

关于mysql - 如何通过将数据从 a b c 列复制到 MySQL 中的列来更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35768803/

相关文章:

mysql - SQL : query display max date (first and second max date)

mysql - 带有 mysql 的 NodeJS 服务器挂起

mysql - 修剪 0 和尾随/前导空格不会给出结果 - MySQL

查询与子查询中聚合顺序之间的 MySQL 差异

javascript - sql语法错误mysql Node js?

php - 转换 LAMP 应用程序以作为 Windows MSI 分发

mysql - 将 Excel 值与 SQL 表 If 语句进行比较。

php - 如何计算两个时间戳之间的差异,然后按月分组以便在 SQL 中绘制图表

mysql - 将 json_objects 转换为数组

php - 函数中的 Mysql 函数我缺少什么