【发布时间】:2019-02-10 03:43:39
【问题描述】:
我是 PostgreSQL 和 DBeaver(社区版 5.1.6 版)的新用户,正在寻找一种方法来通过 DBeaver GUI 在表中创建自动递增的 ID 列。
从我的研究中我可以看出:
您可以使用 SQL 轻松进行设置,例如。 id SERIAL NOT_NULL
根本问题是没有“串行数据类型”之类的东西,而 SERIAL 等同于 nextval('table_name_id_seq')。
当我在 SQL 中使用 SERIAL 命令创建表时,生成的 id 列在 'Default' 属性中有一个 nextval('exampletable_id_seq'::regclass') 值。
例如,我试图在新表中的 DBeaver 中的列的“默认”属性中手动输入 nextval() 命令。 nextval('mytable_id_seq') 有和没有'::regclass;。但是这不起作用。
我很欣赏在 SQL 中执行此操作会更容易,并且之前有一个问题在:Problems de Serial data type in DBeaver & PostgreSQL。
但是,我找不到令人满意的答案,并且能够通过 GUI 执行此操作的选项会很有用,尤其是在通过 DBeaver GUI 完成其他设置时。
具体来说,我的问题是:
DBeaver 是否具有通过 GUI 添加自动递增 ID 的功能?
如果是这样,执行此操作的步骤是什么。
非常感谢大家!
【问题讨论】:
-
我不清楚您的问题是什么:您可以通过 GUI 使用
SERIAL创建一个表,但 DBeaver 不显示serial“类型”吗?还是不能选择serial开头? -
@a_horse_with_no_name
Serial可以在 DBeaver 中创建表期间选择,它确实使用serial作为其CREATE语句(至少在预览中)。我认为他希望 DBeaver 检测到该列满足serial“类型”的要求并显示它,并且不明白大多数客户不这样做,包括 DBeaver。 -
@ŁukaszKamiński:我也是认为的。但是“是否有添加自动递增 ID 的功能”部分似乎表明 DBeaver 不提供这种可能性
-
@a_horse_with_no_name 我认为他只是对客户端通常如何显示串行有点困惑,并且没有实际测试 DBeaver 创建的表是否会在类型设置为
serial的列上自动递增。它在 DBeaver 中对我很有效。 -
@a_horse_with_no_name 非常感谢您的回答,并对问题的混淆感到抱歉。我本质上是想知道你能否在不输入 SQL 的情况下通过 DBeaver 选择串行开始。
标签: postgresql dbeaver