2015-10-22 38 views
1

如何將一個表中的特定列添加或插入到其他表中?我試着寫這樣將一列中的列添加到mysql中的另一個表中

ALTER TABLE info_apie_zaideja 
    ADD SELECT info_apie_match.Rank AFTER 'Nick' 
    FROM info_apie_match; 

或本

UPDATE info_apie_zaideja 
    ADD COLUMN SELECT info_apie_match.Rank AFTER 'Nick' 
    FROM info_apie_match; 

,但沒有奏效。哦,我想插入列的表是查看錶,如果這有助於某種方式。所有的答案將不勝感激。

+0

查看錶不保留任何值 – Alex

回答

0

您需要分兩步進行。首先改變表中添加新列:

ALTER TABLE info_apie_zaideja 
ADD COLUMN Rank INT AFTER Nick; 

然後通過在其他表的相應行復制填充在:

UPDATE info_apie_zaideja AS z 
JOIN info_apie_match AS m ON z.id = m.zaideja_id 
SET z.Rank = m.Rank 

我在這涉及兩個表列猜測。更正ON子句以匹配您的實際表關係。

此外,請考慮您是否真的需要兩個表中的列。有了這種冗餘,您需要確保無論何時更新一個表,另一個表都會更新。相反,只要需要其他表中的值,就可以使用JOIN

+0

嘿,對不起,很長的延遲。首先,謝謝你的回答。其次,你爲什麼要寫'AS Z'和'AS m'?是的,我真的需要兩張表中的列。 – Tomeister

+0

這些是表別名,所以我不必每次都在查詢中寫出完整的表名。這比編寫'SET info_apie_zaideja.Rank = info_apie_match.Rank'更容易。我明白了, – Barmar

+0

啊哈。這很有用。哦,我解決了這個問題,但不記得怎麼回事。仍然感謝您的答案,我相信它會幫助我進一步開發數據庫 – Tomeister

相關問題