PostgreSQL update set from 两表联合更新,注意与其它数据库更新语法有差别

  最近用PostgreSql数据库进行表关联更新时,发现与之前用的Sql Server 和My Sql语法有很大差别,稍微不注意,很容易出错。

  PostgreSql表更新时,两个表只允许一个表起别名,一般是被更新的表不起别名,查询的表起别名

  正确的写法如下

SELECT * from pro.book;
SELECT * from pro.book_detail;

UPDATE pro.book_detail     
set  book_name=tab1.book_name
from pro.book  tab1     
where  book_id=tab1."id" and  tab1.book_name!='';

  错误写法如下

posted @ 2019-07-31 11:00  低调码农哥!  阅读(7198)  评论(0编辑  收藏  举报