当前位置: 首页 > 知识库问答 >
问题:

如何更新一个postgreSQL唯一键约束

史淳
2023-03-14

我的应用程序中不断出现此错误

重复的键值违反唯一约束“product\u supplierinfo\u pkey”详细信息:键(id)=(409)已存在。

这在表product_supplierinfo中。

关键约束需要的实际下一个序列号是5461,而不是409。

有人能告诉我更新此密钥唯一约束的正确查询吗?

共有1个答案

傅兴平
2023-03-14

@chris Collins,请发布\d product\u supplierinfo的输出。我想您是用id serial创建这个表的。

您应该看到id字段的下一个默认值将来自的序列的名称。它可能是产品\u供应商信息\u id\u seq

然后,假设上述名称正确,SELECT*from product\u supplierinfo\u id\u seq 。您可能会看到下一个值是410。

如果这些都正确,请执行选择setval('product\u supplierinfo\u id\u seq',5461)

 类似资料:
  • 我的桌子有两个独特的列: 我想写保存或更新方法 My jooq code: 但我遇到了异常: “错误:没有唯一或排除约束匹配ON CONFLICT规范” 请帮助。

  • 我想添加一个约束,只在表的一部分中对列强制唯一性。 上面的部分是一厢情愿的想法。 有办法吗?还是应该回到关系绘图板?

  • 注意 当前章节中涉及的配置一般适用于关系数据库。这里展示的扩展方法在你安装了关系数据库提供程序之后就能获得(由Microsoft.EntityFrmeworkCore.Relational 程序包共享)。 唯一约束是为模型中的替代键引入的。 惯例 按照惯例,为替代键引入的索引和约束都被命名为 AX_<实体类型名称>_<属性名称>。对于组合替代键,<属性名> 为用下划线分隔的属性名。 数据注解 不能

  • 我有一个oracle查询,我试图使用jdbc执行。以下是查询。 表bd_vehicles_temp_1包含约7000-10000行。如果bd_vehicles_temp_1中的主键已经存在于bd_vehicles_temp中,我会得到一个SQLException:唯一密钥约束。 例外行是off-course

  • 我正在我的Laravel应用程序中使用psql。我正在尝试创建我的用户,并且不断出现此错误 唯一冲突:7错误:重复键值违反唯一约束“users\u pkey” 我做了我想做的事吗? 当我用钩住我的应用程序时,我现在所拥有的一切都会起作用。 任何提示/建议将对我意义重大。

  • 问题内容: 使用MS SQL Server,以下工作正常: 但是,使用PostgreSQL,以下操作将失败: 错误:重复的键值违反了唯一约束“ tbl_test_pkey”详细信息:键(testkey)=(2)已存在。 我需要在一个表中增加一列的每个值,这是复合唯一约束的一部分。如何在一份声明中做到这一点? 谢谢 ! 编辑:如果您想知道为什么这样做(至少对我而言),那么这是一个更完整的方案。 我有