【问题标题】:How do I update row in postgessql to ignore error?如何更新 postgresql 中的行以忽略错误?
【发布时间】:2021-08-08 16:54:06
【问题描述】:

我正在尝试在 postgres 中更新我的表中的数千行,但我收到用户不存在错误,因此我的表没有更新。 如何更新表中的行以忽略用户表中不存在用户的任何错误

UPDATE table
SET userid =1, WHERE app = 'aaa'
SET userid =2, WHERE app = 'bbb'
SET userid =3, WHERE app = 'aaa'
SET userid =4, WHERE app = 'ccc'
SET userid =5, WHERE app = 'aaa'
SET userid =6, WHERE app = 'bbb'

如果例如 userid=3 不存在,我如何忽略任何错误并更新我的行。 谢谢

【问题讨论】:

    标签: sql postgresql datatable sql-update


    【解决方案1】:

    我会使用values():

    update t
        set userid = v.userid
        from (values ('aaa', 1), ('bbb', 2), . . . 
             ) v(app, userid)
        where v.app = t.app;
    

    【讨论】:

    • 非常有创意的解决方案!不幸的是,我只有一个赞成票。
    猜你喜欢
    • 2017-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    • 2013-06-15
    • 2012-02-04
    • 2014-05-22
    相关资源
    最近更新 更多