如何以递增的值进行更新

2024-01-05

我在 PostgreSQL 中有一个表,它有一个应该是唯一的 ID 列。然而,当前大量行(大约 300 万行)的 ID 为“1”。

我知道的:

  • 总行数
  • ID 列的当前最大值
  • ID(不正确)为“1”的行数

我需要的是一个查询,它将提取 ID 为“1”的所有行,并为它们分配一个自动递增的新 ID,以便表中的每一行都具有唯一的 ID。我希望它开始于currentMaxId + 1并为每一行分配后续 ID。

这是我通过查询得到的最接近的结果:

UPDATE table_name
SET id = (
    SELECT max(id) FROM table_name
) + 1
WHERE id = '1'

这样做的问题是内部 SELECT 仅在第一次运行,因此将相关行的 ID 设置为原始行的 IDmax(id) + 1,不是新的max(id) + 1每次都给我同样的问题,我试图解决。
任何有关如何调整此查询以实现我想要的结果或替代方法的建议将不胜感激!


您可以按照临时顺序逐步进行。

1)创作

create temporary sequence seq_upd;

2)设置合适的初始值

select setval('seq_upd', (select max(id) from table_name));

3)更新

update table_name set id=nextval('seq_upd') where id=1;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以递增的值进行更新 的相关文章

  • 将 Linq 表达式转换为 SQL Server 查询

    我正在使用一些 crm 框架 该框架没有任何内部 orm 并且不使用实体框架 仅使用纯 sql 查询 我在数据库中的每个表都有实体 所以我有例如 public class Customer public string FirstName g
  • 如何解决此错误:Py4JJavaError:调用 o70.showString 时出错?

    目前我正在开发 PySpark 和 DataFrame 我创建了一个数据框 from pyspark sql import import pandas as pd spark SparkSession builder appName Dat
  • 如何编写一个简单的版本控制系统?

    我想做一个简单的版本控制系统 但我不知道如何构建我的数据和代码 这是一个简短的例子 用户登录 User has two options when uploading a file 提交新文件 提交文件的新版本 用户应该能够看到树 版本不同
  • 在 postgresql 中,如何在 jsonb 键上返回布尔值而不是字符串?

    在下面的查询中 isComplete 和 isValid 以字符串形式返回 但是 它们被保存为布尔值 如何获取要返回的这些字段的布尔表示形式 query SELECT data gt gt id AS id data gt gt name
  • 执行计划中是否考虑了功能?

    当查询在 SELECT 或 WHERE 子句中包含 PL SQL 函数 用户定义函数 时 如何生成执行计划 它是否也计算这些函数的成本并将其显示在执行计划中 或者这些函数只是被忽略 在此先感谢您的帮助 用户生成的函数在 SELECT 或 W
  • 使用绑定变量动态传递表名和列名

    有没有办法使用绑定变量将列名和表名动态传递给查询 这可以通过使用简单的串联运算符来完成 但我想要一种不同的方法来实现这一目标 EDIT OPEN abc cur FOR Select column name from table name
  • 在 SQL 中查询行序列

    假设我正在存储events有关联users如下表 其中dt代表事件的时间戳 dt user event 1 1 A 2 1 D 3 1 B 4 1 C 5 1 B 6 2 B 7 2 B 8 2 A 9 2 A 10 2 C 这样我们就可以
  • 查找缺失值

    我有一个表 有 2 个重要的列 DocEntry WebId 样本数据就像 DocEntry WebId 1 S001 2 S002 3 S003 4 S005 现在我们可以注意到 在 WebId 列中 S004 丢失了 我们如何通过查询找
  • PostgreSQL、Npgsql 返回 42601:“$1”处或附近的语法错误

    我正在尝试使用 Npgsql 和 或 Dapper 来查询表 但我不断遇到Npgsql PostgresException 42601 syntax error at or near 1 这是我用 NpgsqlCommand 尝试的结果 u
  • MySQL 命令输出在命令行客户端中太宽[重复]

    这个问题在这里已经有答案了 我在用mysql终端模拟器中的命令行客户端lxterminal在Ubuntu中 当我运行以下命令时 mysql gt select from routines where routine name simplep
  • 如何使用 pgAdmin 恢复 postgreSQL 转储文件?

    我有一个 dmp 文件 想要从中恢复数据库 使用 pgAdmin 我该怎么做 在 PgAdmin3 内 在您正在使用的服务器中创建一个新数据库 右键单击该数据库并选择 恢复 使用 浏览器 按钮选择 dmp 文件 选择 恢复 开始恢复数据库
  • 具有位变化的 PostgreSQL 位运算符“不能与不同大小的位字符串”

    我有一个变化的位掩码字段 我想对其执行按位与操作 PG Error ERROR cannot AND bit strings of different sizes SELECT groups FROM groups WHERE read r
  • PostgreSQL - 返回多列的函数

    这是一个提供 2 列结果的函数 在这个函数中有一个Loop被用来返回结果 功能 Create Type Repeat rs as label text count bigint CREATE OR REPLACE FUNCTION Repe
  • mysql变量赋值:如何强制赋值顺序?

    由于mysql是一种声明性语言 我找不到强制赋值变量顺序的方法 采取这个查询 SET v1 0 SET v2 0 SELECT v1 v2 FROM MyTable table WHERE v1 v2 is not null AND v2
  • 使用存储过程访问数据可以提供哪些安全优势?

    我看到一些指南建议您通过存储过程对所有数据访问进行分层来保护数据库 我知道对于 SQL Server 您可以保护表甚至列免受 CRUD 操作的影响 例如 Logged in as sa USE AdventureWorks GRANT SE
  • SQL COUNT(*) 返回错误答案

    以下脚本应返回部门名称以及这些部门中的员工人数 营销 行政和销售部门有 0 名员工 但返回值不是 0 而是 1 我怎样才能纠正它 select Department Departments DepartmentID count as Num
  • 使用 Sequelize.js 和 PostgreSQL 查询关联模型上的 JSONB 字段

    我有我的两个模型Foo and Bar Foo有一个字段barId 因此有一个Bar与其关联的对象 我可以查询我所有的Foo对象并包括它们的关联Bar对象如此 我正在使用 TypeScript续集打字稿 https github com R
  • 左连接 SQL 求和

    我有两张桌子想要加入 比如说表 a 和表 b 表 b 有许多行指向表 a 表 b 包含价格 实际上是一个购物篮 所以我想要的是表a中的所有记录和表b中的价格之和 我努力了 select a sum b ach sell from booki
  • Postgresql 创建扩展失败

    我正在使用扩展 到目前为止没有任何问题 现在我创建一个新的 当我打电话时 创建扩展实用程序 我进入 PG 9 2 创建扩展实用程序 FEHLER Syntaxfehler bei ZEILE 1 创建扩展实用程序 在 PG 9 1 中 创建
  • SQL Server XQuery 返回错误

    我正在 SQL Server 2012 中对 XML 数据类型列执行查询 数据示例如下

随机推荐

  • 目标 C:SHA1

    如何在 Objective c 中 sha1 一个字符串或一组数字 CommonCrypto Apple 框架 具有计算 SHA 1 哈希值的函数 包括一步哈希值 include
  • 给定 x、y 和色调,获取 HSL 值

    给定一个看起来像这样的颜色选择器 我正在尝试根据光标的 x 和 y 位置以及右侧滑块的色调来计算 HSL 值 我的数学技能相当薄弱 尽管我所拥有的很接近 但尝试获取真正浅的全强度颜色很麻烦 最终会变得太灰 这是我当前使用的功能 getHSL
  • C# 中使用反射进行方法拦截

    我编写了一个抽象类 它使用反射来查找构造函数中标有属性的字段 如下所示 AttributeUsage AttributeTargets Field public class TrackedField Attribute public cla
  • 定义频率上的音量 (C#)

    我不明白为什么音量定义的频率不符合预期 我依次将声音以几个指定的频率发送到麦克风 然后我对麦克风缓冲区进行 FFT 在 FFT 退出时 我有一个复数数组 要了解定义频率上的声音音量 我查看我的数组 该数组中的元素数量是这样得到的 MyFre
  • 使用 Java 在线程之间传输数据

    我正在编写一个模仿电影院的多线程应用程序 每个参与的人都是自己的线程 并发必须完全由信号量来完成 我遇到的唯一问题是如何基本上链接线程以便它们可以通信 例如通过管道 例如 Customer 1 是一个线程 它获取一个信号量 让它走到票房 现
  • VBA:使用两个参数调用 SQL Server 存储过程

    正如标题中提到的 我只想从 VBA 调用 SQL Server 存储过程 我可以这样调用我的存储过程 EXEC dbo spClientXLS Nr 131783 date 21 09 2014 Nr is a varChar 50 输入值
  • 如何在不使用 GlobalKey.currentState 的情况下平滑更新 Flutter AnimatedList?

    我发现的将项目插入 Flutter AnimatedList 的所有示例都利用 GlobalKey currentState 告诉 AnimatedList 小部件已插入项目 从列表中删除也是如此 众所周知 在 Flutter 中 Glob
  • 每个列表视图项目中旋转进度条

    我已经为此挠头很久了 并寻找答案但没有任何运气 这似乎是微不足道的 但据我所知 事实并非如此 我在 Android 应用程序中使用列表视图 其中每个项目 视图 在 内容已加载并显示 内容是通过http调用和json检索的 因此可能需要一段时
  • 如何摆脱 Core 中的“let”?

    我有一个在内部循环中频繁调用的函数 它看起来像这样 import qualified Data Vector Storable as SV newtype Timedelta Timedelta Double cklsLogDens SV
  • jQuery动态下拉框ajax

    我目前有两个下拉框和一个文本框 我使用数据库查询来填充第一个下拉框 并使用 ajax 来填充第二个下拉列表 具体取决于第一个下拉列表中选择的值 一旦从第二个下拉列表中选择了一个选项 我也会使用ajax来填充输入文本框 我的问题是 使用我当前
  • 使用 VB.Net 将数据插入 SQL Server 数据库

    我目前正在使用 HDI 会员提供商 设计如下所示 现在我尝试创建一个新用户并将这些值插入数据库 如下所示 Try Dim connectionString As String Data Source sqlexpress Initial C
  • 生成掷 n 个骰子的所有可能结果的矩阵(忽略顺序)

    在顺序确实很重要的情况下 生成所有可能结果的矩阵相当容易 执行此操作的一种方法是使用expand grid如图所示here https stackoverflow com questions 2889613 how can i find o
  • 防止 Adob​​e PDF 中的“另存为”

    我们需要防止保存网络驱动器上存在的 PDF 的额外副本 目前 我们已在格式允许的范围内 锁定 PDF 这意味着防止复制 粘贴 编辑和打印 但是 客户要求任何人在打开 PDF 后都无法创建该 PDF 的附加副本 使用本机 PDF 这是不可能的
  • 过渡组儿童必须被锁定......但他们被锁定

    尝试使用
  • HashMap 有大约 1 亿个键,时间仍然恒定?

    有谁知道这个问题的答案吗 是的 要搜索添加了 1 亿个项目的哈希映射 请执行以下操作 1 计算您要查找的对象的哈希值 2 找到那个桶3 在该存储桶中搜索该项目 1 与哈希映射的大小或其中的项数无关 2 是 O 1 假设标准哈希图实现为链表数
  • 将 UICollectionView 某些部分的触摸传递给底层视图

    First take a look at the attacthed image 我的层次结构如下所示 UIView UIButton UI集合视图 UICollectionViewCell UICollectionViewCell UIC
  • 为 EC2 实例保留相同的 IP 地址

    每次停止 启动实例时 EC2 实例是否会更改实例的 IP 地址 有没有办法保持IP地址不变 Yes 有一种方法 弹性IP寻址 https docs aws amazon com AWSEC2 latest UserGuide elastic
  • 有没有办法在 chrome 或 firebox 调试器的堆栈跟踪中隐藏第 3 方 JS 函数调用?

    这是我对 Chrome 调试器最喜欢的问题之一 我有一个调用第 3 方库的函数 该函数在内部调用 20 个其他函数 第 20 个库函数再次调用我的库中的另一个函数 我的函数A gt 调用 libFunctionA gt 调用 libFunc
  • 面向对象的设计 - 当一个类中有大量数据字段时,封装有多重要?

    我有一个关于封装的问题 当类有大量数据字段时是否建议使用封装 使用以下类作为示例 abstract public class Character private String name private String characterCla
  • 如何以递增的值进行更新

    我在 PostgreSQL 中有一个表 它有一个应该是唯一的 ID 列 然而 当前大量行 大约 300 万行 的 ID 为 1 我知道的 总行数 ID 列的当前最大值 ID 不正确 为 1 的行数 我需要的是一个查询 它将提取 ID 为 1