将MySql数据从两列移动到一列

时间:2016-10-01 13:41:35

标签: mysql sql set

我有一个包含多个列的数据库,这些列表示相同类型的数据。为了减少数据库并使其更易于将来使用,我想将这些列中的数据合并为一个。我的问题是我不知道这个操作的SQL。大多数搜索命中只为我提供了结果集,但我想对数据库进行永久性更改。

我知道如何在两列之间进行更新,但不知道如何将数据从多列移动到一列。

到目前为止,我已尝试过这个

    UPDATE db SET firm = firm_stone AND firm_concrete

    UPDATE db SET firm = firm_stone, firm_concrete

    UPDATE db SET `firm` = `firm_stone`, `firm_concrete`

这个SQL显然是错误的,因为它给了我这个错误:#1064 - 你的SQL语法有错误

1 个答案:

答案 0 :(得分:1)

您必须将这两个列的值连接到一个字符串,以将其保存在同一列中。

UPDATE db.tablename SET firm = concat_ws(' ',firm_stone, firm_concrete); 

此处' '将在2个字符串中放置一个空格。你可以使用自己的。