我有一个包含多个列的数据库,这些列表示相同类型的数据。为了减少数据库并使其更易于将来使用,我想将这些列中的数据合并为一个。我的问题是我不知道这个操作的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语法有错误
答案 0 :(得分:1)
您必须将这两个列的值连接到一个字符串,以将其保存在同一列中。
UPDATE db.tablename SET firm = concat_ws(' ',firm_stone, firm_concrete);
此处' '
将在2个字符串中放置一个空格。你可以使用自己的。