怎么在Dbeaver中创建mysql 触发器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么在Dbeaver中创建mysql 触发器相关的知识,希望对你有一定的参考价值。
在Dbeaver中创建mysql 触发器的方法:
1、打开数据库导航,找到public节点,找到views节点,打开:
2、右键:新建view:
3、填写触发器信息并保存
创建触发器
在MySQL中,创建触发器语法如下:
CREATE TRIGGER trigger_name
trigger_time
trigger_event ON tbl_name
FOR EACH ROW
trigger_stmt
如何使用 PostgreSQL 在 DBeaver 中创建自动递增/SERIAL id 列?
【中文标题】如何使用 PostgreSQL 在 DBeaver 中创建自动递增/SERIAL id 列?【英文标题】:How to create auto incrementing / SERIAL id columns using DBeaver with PostgreSQL? 【发布时间】: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 选择串行开始。
【参考方案1】:
在查看了对我上面的问题非常有帮助的 cmets 之后,我意识到这个问题是由于我缺乏使用 DBeaver 的经验而提出的。
为了完整起见,我在下面列出了我的问题的答案:
是的,有一种方法可以直接通过 DBeaver GUI 自动递增。
这可以通过在创建表时设置一个 id 变量来实现通过约束键。
截图如下:
由于 PostgreSQL 的工作方式,“Serial”类型是一种伪类型,允许使用数字序列 (http://www.postgresqltutorial.com/postgresql-serial/)。
因此,在 DBeaver 中,一旦您设置了表格,它将显示为以下内容,而不是“串行”类型:
感谢这对任何熟悉 PostgreSQL 和/DBeaver 的人来说是一个非常明显的答案,感谢您的理解:)
【讨论】:
是否可以这样做,但不是在创建表格时,而是通过编辑它? @noloman 是的,可以在创建表后添加一个 id 列。右键单击“列”->“创建新列”,然后在弹出窗口中选择上面屏幕截图中的选项。 @OswaldoSalazar 如果该列已经存在怎么办?以上是关于怎么在Dbeaver中创建mysql 触发器的主要内容,如果未能解决你的问题,请参考以下文章