将属性从一个表迁移到另一个表

时间:2018-12-06 15:13:36

标签: sql postgresql migrate

我有两个表:

TEST1 : 
attribut1, attribut2, attribut3 

TEST2 : 
attribut4

attribut4模式类似于“ xxxxx yyyyy zzzzz”

我的问题是,是否可以将表TEST2的所有“ xxxxx”,所有属性“ yyyyy”和属性3“ zzzzz”都放在TEST1属性表中?

我尝试了类似的方法:

insert into TEST1(attribut1) SELECT SUBSTRING(attribut4,1,5)::integer FROM TEST2;

但它说:

  

错误:“ attribut2”列中的空值违反了非空约束   详细信息:失败行包含(xxxxx,null,null)。

(attribut1,attribut2)是主键。

感谢您的回答和时间。

1 个答案:

答案 0 :(得分:0)

您可以使用split_part()

insert into TEST1 (attribut1, attribut2, attribut3)
    SELECT split_part(attribut4, ' ', 1)::int,
           split_part(attribut4, ' ', 2)::int,
           split_part(attribut4, ' ', 3)::int
    FROM TEST2;
相关问题