确认一键查看最优答案?
本功能为VIP专享开通VIP获取答案速率将提升10倍哦!
怎样把这个语句在postgresql中實现
用一条语句,不是先更新后查询
本版专家分:14264
或者说在PostgreSQL中,就算使用update+join不會报错但join的那部分其实是没任何效果的,如下所示:
按照上边的sql本意是a、b、c三表关联,当c的value是'test'且a的key也是'test'的时候就将a的value也改为'test'。但实際上这个sql有大问题这里的join和where条件并没有意义,一旦update成功你会发现,a表内的所有数据的value都被改成了'test'!!要么update 0条数据要么全部update!至于是哪种结果,这要看where的条件目前还不清楚为什么会这样。因为这种写法本身就是不对的!
在update语句中不应该通过join来进行多表关联而是要通過from来多表关联,如下:
通过from来多表关联而关联条件则是放到了where中,这样就可以达到我们想要的效果了另外补充一句,对于set xxx = 'xxx'
这个update的部分是不可以在column字段前加上表前缀的,比如下边的写法就是有语法错误的:
如何一次插入多条记录
如何一佽更新多条记录?
如何一次批量删除多条记录
批量操作可以减少数据库与应用程序的交互次数,提高数据处理的吞吐量
如果要清除全表,建议使用truncate