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

Postgresql 9.4,将现有的主键设为SERIAL

逄嘉木
2023-03-14
问题内容

我正在使用PostgreSQL 9.4。我想用序列号更改现有的主键。我的查询无法正常工作。有人知道该怎么做吗?

Alter table 'table_name' alter column id BIGSERIAL;

应该只有一个查询才能修改特定的列。我没看到


问题答案:
CREATE SEQUENCE table_name_id_seq
   OWNED BY table_name.id;

ALTER TABLE table_name
   ALTER id
      SET DEFAULT nextval('table_name_id_seq'::regclass);


 类似资料:
  • 我有一个名为的现有表。在这个表中,我有5列: persionId 人名 PMid 描述 Pamt 创建此表时,我将和设置为主键。 我现在想在主键中再包含一列——PMID。我如何编写一个语句来做到这一点?(表中已经有1000条记录了)

  • 这听起来很无聊,但我想知道我是否可以让主键在Laravel中作为外键工作,我对Laravel是新手。 因此,我有两个迁移“User”和“Student”,如下所示:User: 学生: 所以,我所想要的是,学生(uniqueId)中的主键也可以用作引用User表中的uniqueId列的外键。 提前谢谢。

  • 问题内容: 我试图将我的SQL数据库中表的主键从现有键更改为复合键,其中不包括现有列。由于出现以下错误消息,因此以下代码无法正常工作: 删除主键: PRIMARY附近的语法不正确。预期为COLUMN,CONSTRAINT,ID或QUOTED_ID 添加主键: PRIMARY附近的语法不正确。 期望ID T-SQL代码: 编辑 我可以通过使用以下两个查询语句来完成此操作 我没有要求SQL“ DROP

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

  • 我在Postgres中有两个表<code>foo 当我尝试使用此命令将数据从 复制到 时: 我得到一个错误: 错误:重复的键值违反了唯一约束“bar_pkey” 详细信息:键(id)=(1)已存在。 当表

  • 我坚持使用Hibernate的父子对象。在这里,父对象带有一个,这是发送者系统的主键,并且总是唯一的。 对于每一个带有父id的新传入对象不存在,那么父对象将用我的应用程序数据库特定的主键插入父表如果父id已经存在于我的应用程序数据库中,那么我只需要更新父表。但是,如果父母PK已经存在,我应该如何为子行插入父母FK?表结构: 实体类: