【问题标题】:How do i limit the number of rows updated in postgres如何限制 postgres 中更新的行数
【发布时间】:2019-10-12 23:20:08
【问题描述】:

我正在尝试通过将客户表中的记录限制为 n 条记录来更新它们,但是当我使用 offset 和 limit 关键字时出现错误。

我该放在哪里

offset 0 limit 1

在更新语句子查询中作为子查询是这样的:

update customer set name = 'sample name' where customer_id in (142, 143, 144, 145 offset 0 limit 1);

当我尝试执行上面的更新语句时,我得到一个错误:

错误:“偏移”处或附近的语法错误

注意:limit 不必为 1,可以是任意数字,offset 也是如此

【问题讨论】:

    标签: postgresql sql-update subquery limit offset


    【解决方案1】:

    offsetlimit 处理行,而不是列表。

    您可以转换 in() 子句以使用从每个输入返回一行的子查询

    更新客户

    set name = 'sample name' 
    where customer_id in (select unnest(array[142, 143, 144, 145]) offset 0 limit 1);
    

    【讨论】:

      猜你喜欢
      • 2021-03-23
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 2021-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多