当前位置: 首页 > 面试题库 >

PostgreSQL-为非主键创建一个自动增量列

邴兴为
2023-03-14
问题内容

我使用的是与开源Parse Server集成在一起的PostgreSQL 9.5 X64。我的表具有以下结构。

objectId (text with fixed 10 characters),
item_id (integer),
item_name (text with various length)

objectId由于使用了Parse Server,因此是主键。它由Parse
Server自动生成。该item_id不是主键。我想item_id在创建新记录时自动增加1。如何在创建表中实现?


问题答案:

您可以尝试制作item_id专栏文章SERIAL。我不知道是否可以更改当前item_id列以使其为串行,因此我们可能必须删除该列,然后将其添加回去,如下所示:

ALTER TABLE yourTable DROP COLUMN item_id;
ALTER TABLE yourTable ADD COLUMN item_id SERIAL;

如果该item_id列中已经有数据,则从串行角度看可能没有意义,因此希望删除它不会有任何危害。



 类似资料:
  • 问题内容: 是否可以自动增加非主密钥? 表“ book_comments” 该表上将没有其他索引。但是,我想使列自动递增,以便可以轻松创建另一个表: 表格“ book_comments_votes” 用户将只能对每个书评进行一次投票。该表通过主键强制执行此规则。 题: 是否可以自动增加非主键-例如,自动增加表“ book_comments”中的列? 替代方案,讨论: 如上所述,我想这样做是为了简化

  • 问题内容: 我正在尝试添加具有自动增量的主键。 我已经阅读了一些文档和其他问题-有和声明,但是不起作用。 这是我做的: 和 我怎么了 我只想将主键增加1。 问题答案: 是或多或少是一种列类型,所以说就像说,只是说: 如果您想自己创建序列,那么您想将序列中下一个值的默认值设为默认值,这意味着: 为了模拟通常的行为,您还需要使表拥有该序列: 阅读手册的“串行类型”部分可能会很有成果。 我还建议您不要对

  • 问题内容: 我有多个结构相同的数据库,有时会在其中复制数据。为了保持数据完整性,我使用两列作为主键。一个是数据库ID,它链接到包含有关每个数据库的信息的表。另一个是表键。它不是唯一的,因为它可能有多个行,且此值相同,但database_id列中的值不同。 我打算将这两列变成一个联合主键。但是,我也想将表键设置为自动递增-但基于database_id列。 EG,使用以下数据: 如果我要添加包含dab

  • 我目前正在从事一个由主服务器和许多客户端组成的Laravel4项目。客户端创建数据并将其发送到主服务器。为了避免冲突,我使用UUIDV4作为主键。 但是,一旦在服务器上创建了数据,我希望分配一个唯一的自动递增整数,以便用户更容易识别数据。例如:用户不必谈论而可以谈论 为了保持应用程序的可管理性,我正在使用迁移,此表的当前迁移如下所示: 问题是,Laravel在定义自动增量时自动创建主键,因此迁移最

  • 本文向大家介绍Oracle 创建主键自增表示例代码,包括了Oracle 创建主键自增表示例代码的使用技巧和注意事项,需要的朋友参考一下 前言 本篇文章给大家主要介绍的是在oracle中如果创建自增长表的方法,这里要用到序列。下面话不多说,我们来看示例代码。 示例代码 注意:触发器是非必须的,可以从业务上严格要求指定插入值。 注意oracle限制对象名的字符长度不能超过30个字符,所以表名要控制在一

  • 问题内容: 我正在尝试更改没有主键或auto_increment列的表。我知道如何添加主键列,但我想知道是否有可能自动将数据插入主键列(我已经在数据库中有500行,并希望为其提供ID,但我不想手动执行) 。有什么想法吗?非常感谢。 问题答案: 在我的测试中,添加列的语句可以正常工作: 在为测试目的而创建的临时表上,以上语句创建了该 列,并为该表中的每个现有行插入了自动递增值,从1开始。