连接其他表中的几列后如何永久更新表结构

时间:2019-02-25 22:10:53

标签: mysql sql

我有一个包含5列的表,我正在与另一个有2列的表联接。 (基于1个公共列)
现在,在加入后,我从table1获得了所有5列,并从table2获得了1个额外的列。

预期:
我需要我的table1结构是我加入的结果。 (即)联接后如何更新我的表结构。我要求所有6列都必须是表1

1 个答案:

答案 0 :(得分:1)

您应该使用一个视图:

create v_table1 as
    select t1.*, t2.col
    from table1 t1 join
         table2 t2
         on . . . ;

这很方便。当table2发生更改时,视图将“自动”反映更改。

如果您想向table1添加新列并更新一次,则可以:

alter table table1 add <new column> <column definition>;

update table1 t1 join
       table2 t2
       on . . .
    set t1.<new column> = t2.col;

但是,这一次设置了值-运行时。