将列从一个表添加到mysql中的另一个表

时间:2015-10-22 20:16:27

标签: 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;

但这不起作用。哦,我要插入列的表是视图表,如果这有点帮助。所有答案将不胜感激。

1 个答案:

答案 0 :(得分: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