2016-10-01 92 views
0

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

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

到目前为止,我已经试过这

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

你想连接两列吗? –

+0

请参阅http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-查询 – Strawberry

+0

'firm_stone + firm_concrete'? – David

回答

1

必须将这2列的值连接到单个字符串才能将其保留在同一列中。

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

这里' '一个空格将被放置与2个字符串。你可以使用你自己的。

+0

Works !,谢谢你的帮助! – ChrVik

+0

欢迎你@ChrVik。 – Avishek

+0

只要稍加跟进,如果可以的话。我怎样才能从另一列连接而不删除数据?我发现另一列也需要添加到公司,但恐怕以前操作的一些数据将被零值覆盖。 – ChrVik

相关问题