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!='';
错误写法如下