2013-08-21 53 views
0

對於這個微不足道的問題抱歉,但我嘗試了一些類似的答案在這裏提供無濟於事。mySQL:將列數據複製到另一列

我正在創建一個數據庫(合併兩套關於1901年和1911年的愛爾蘭人口普查數據)。

我有一個列Age(包含人的年齡),也是一列1901Age(當前爲空)。我想自動將Age列中的數據複製到1901Age列中。

我正在學習SQL,所以我是新手,但INSERT SELECT和各種類似的排列組合對我來說並不適用。

如果我也可以做一個以上,其中列標籤上 - (!如果是有道理的)下面的一個過濾的結果,這是我需要申請我上面的查詢

UPDATE `Census`.`Merged` 
SET `Age` = `1901Age` 
WHERE (
(
`Age` >= '0' 
) 
AND (
`1901Age` = '0' 
AND `BothCensusStatus` = '1901Only' 
+0

我想你說你的選擇是好的?如果您的目標是將年齡欄複製到1901年的欄目中,那麼SET'Age' ='1901Age'是錯誤的?應該是SET'1901Age' ='年齡' – asantaballa

+0

謝謝你的迅速答覆。我嘗試了你的建議,但是它並沒有給出錯誤信息,它給出了0個結果,換句話說,數據不會從年齡複製到1901年齡。 – annoici

回答

0

大概只有輕微錯別字:錯過),你寫作逆序的情調:

UPDATE `Census`.`Merged` 
SET `1901Age` = `Age`    -- Copy from `Age` to `1901Age` 
WHERE `Age` >= 0     -- Compare on integers 
AND `1901Age` = 0     -- Here again 
            -- (BTW, would probably have been better to 
            -- use NULL to denote "non-existent" data) 
AND `BothCensusStatus` = '1901Only' 
相關問題