2016-10-01 41 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

相關問題