主要是postgresql进行数据更新,使用查询值来插入已有表的某一列
已有表,使用update更新
- 更新为某一固定初始值
update tablename set columname=0; --设初始值为零
- 更新为查询值,带条件(需要与主键对应)
update tableA AA set name = BB.name , sex = BB.sex from tableB BB where AA.id = BB.id ;
注意不要写成 from AA,BB ,即不要把自身的表写在from后,不然会报异常 :table name specified more than once
update AA set name = BB.name from AA,BB where AA.id = BB.id
也不要在set 后的列名上加 别名 , 即不要有AA.name , 不然会报异常: column "name" of relation "AA" does not exist
update AA set AA.name = BB.name , AA.sex = BB.sex from BB where AA.id = BB.id ;
参考资料: