首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用DBeaver和PostgreSQL创建自动递增/串行id列?

如何使用DBeaver和PostgreSQL创建自动递增/串行id列?
EN

Stack Overflow用户
提问于 2018-09-05 05:24:21
回答 1查看 46.8K关注 0票数 17

我是PostgreSQL和DBeaver (社区编辑版本ver )的新用户。在表中通过DBeaver GUI创建一个自动递增ID列的方法。

从我的研究中我可以看出:

  1. 您可以使用SQL轻松地设置它。id串行NOT_NULL
  2. 根本的问题是,没有所谓的“串行数据类型”,而串行等同于nextval('table_name_id_seq')。
  3. 当我使用SQL中的串行命令创建一个表时,得到的id列在'Default‘属性中有一个exampletable_id_seq::regclass’)值。

例如,我尝试在新表中DBeaver中列的“默认”属性中手动输入nextval()命令。nextval('mytable_id_seq')有和不带‘:regclass;。然而,这是行不通的。

我理解在SQL中这样做会更容易,而且以前在:Problems de Serial data type in DBeaver & PostgreSQL上有一个问题。

但是,我找不到一个令人满意的答案,能够通过GUI完成这个任务的选择是有用的,特别是如果其他设置是通过DBeaver图形用户界面完成的。

具体来说,我的问题是:

  1. DBeaver是否有通过GUI添加自动递增id的功能?
  2. 如果是这样,将采取什么步骤来做到这一点。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-05 22:15:48

在回顾了对我上述问题的非常有用的评论之后,我意识到这个问题是由于我对DBeaver缺乏经验而提出的。

为了完整起见,我对我的问题作了以下答复:

  1. 是的,有一种直接通过DBeaver图形用户界面自动递增的方法。
  2. 这可以通过在创建表时设置id变量来完成,方法是设置带有串行类型的列并勾选“null”,然后通过约束将id设置为主键。

截图附后:

由于PostgreSQL的工作方式,“串行”类型是允许使用数字序列(http://www.postgresqltutorial.com/postgresql-serial/)的伪类型。

因此,在DBeaver中,一旦设置了表,就会显示为以下内容,而不是使用“串行”类型:

对于熟悉PostgreSQL和/ DBeaver的人来说,这是一个非常明显的答案,谢谢您的理解:)

票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52177610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档