gpt4 book ai didi

postgresql - 每个更新具有不同随机值的 PSQL 行

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

我正在尝试批量更新表中的每一行,为它们分配一个单独的位置。这是我正在使用的查询

UPDATE point SET location=
ST_PointFromText('POINT(' ||
(SELECT random()+5) || ' ' ||
(SELECT random()+5) || ')', 4326)
WHERE parent_id=100;

问题是每一行将收到完全相同的值。

最佳答案

我找到了 this article by Szymon Lipiński这涉及到我的问题。以下是我修复查询的方法:

UPDATE point p SET location=
ST_PointFromText('POINT(' ||
((SELECT random() WHERE p=p)+5) || ' ' ||
((SELECT random() where p=p)+5) || ')', 4326)
WHERE parent_id=100;

为了强制 PostgreSQL 每次都重新计算表达式,需要一个外部依赖。

关于postgresql - 每个更新具有不同随机值的 PSQL 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48665573/

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