gpt4 book ai didi

arrays - 修复插入不当的 Postgres 数组

转载 作者:行者123 更新时间:2023-11-29 12:36:53 26 4
gpt4 key购买 nike

问题基于以下答案: Postgres SELECT where value in array

我有一列包含以下值:

{'V1', 'V2', "'V3 With Space'"}

应该看起来像:

{V1, V2, "V3 With Space"}

数组中只有 15 种可能的选择。我可以通过用我选择的语言遍历整个数据库、解包数组,然后正确地更新它来解决这个问题。但是,由于有 150 万条记录,交易时间大约需要 2 天。 (下载,然后重新上传所有记录)

问题是:

有没有什么方法可以使用更新命令直接解决这个问题,而不用重新解析所有记录

这是我一直在尝试做的事情:

UPDATE tbl SET col1 = {V1} WHERE col1 = {'V1'}

问题是,有很多可用的排列。我可以在任何地方看到更新,但我不知道他们如何从列表中删除新的违规记录

最佳答案

您可以取消嵌套数组以提供一个表格,修剪前导/尾随单引号,然后将其聚合回数组:

UPDATE tbl SET col1 = (
SELECT array_agg(trim(x, ''''))
FROM UNNEST(col1) u(x)
)

关于arrays - 修复插入不当的 Postgres 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34211872/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com