在Firebird数据库中创建自动增量字段的最简单方法

戈麦什蒙达

有没有一种简单的方法可以使用Firebird创建自动增量字段?我已经安装了FlameRobin管理工具,但是通过该工具创建自动增量字段的过程很复杂。我不能仅通过单击复选框或使用Flamerobin以外的其他工具来创建这样的标识字段吗?

马克·罗特·韦尔

Firebird 3及更高版本

在Firebird 3中,它很容易创建,因为它引入了标识列。实际上,它是为您生成序列+触发器(如Firebird 2.5所示)的语法糖。

例如

create table t1 (
   id integer generated by default as identity primary key
)

Firebird 3仅支持“ generated by default”,这意味着用户可以指定自己的id值(这可能导致重复的值错误);generated always”将添加Firebird 4。

另请参阅Firebird 3发行说明的标识列类型”部分。

Firebird 2.5及更早版本

Firebird 2.5及更早版本没有自动增量字段。您需要使用序列(也称为生成器)和触发器自己创建它们。

序列是SQL标准术语,生成器是历史上的Firebird术语,它们都被使用。

创建一个序列

CREATE SEQUENCE t1_id_sequence;

创建触发器以始终在T1具有主键的表上生成id ID

set term !! ;
CREATE TRIGGER T1_AUTOINCREMENT FOR T1
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  NEW.ID = next value for t1_id_sequence;
END!!
set term ; !!

另请参阅:如何创建自动增量列?

使用FlameRobin

Flamerobin还提供了为您创建序列+触发器的工具。如果您有一个现有的表,可以按照下列步骤操作:

  1. 打开表属性:

    打开表属性

  2. 打开主键列的列属性

    开列属性

  3. 默认列属性,选择新的生成器创建触发器

    默认列属性

  4. Flamerobin生成器(序列)和触发代码。请注意,与上面的示例相反,此触发器允许用户指定自己的id值,并采用一些逻辑以避免将来重复。执行此操作(不要忘记提交):

    为生成器+触发器生成的代码

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在数据库中增加字段的最简单方法?

来自分类Dev

使用无脂肪框架从数据库检索单个字段的最简单方法?

来自分类Dev

CakePHP 3-从数据库检索单个字段的最简单方法

来自分类Dev

复制/复制RethinkDB数据库的最简单方法?

来自分类Dev

使用VB.NET检查MSSQL中是否存在数据库的最简单方法是什么?

来自分类Dev

SQLAlchemy,Python,用数据填充数据库的最简单方法

来自分类Dev

使用Laravel将数据插入数据库的最简单方法?

来自分类Dev

在旧版SQL Server数据库中加密密码字段的简单方法

来自分类Dev

将多个数据库查询导入Excel的最简单方法是什么?

来自分类Dev

PyQt:为现有数据库制作CRUD UI的最简单方法是?

来自分类Dev

在postgres数据库中保存文件树的最简单方法是什么?

来自分类Dev

在同一SQL实例上复制大型数据库的最简单方法

来自分类Dev

将MS SQL SERVER数据库导出到MySql数据库的最简单方法

来自分类Dev

最简单的用ForeignKeys清空数据库而不删除/创建数据库的方法

来自分类Dev

在 mysql 中创建全局自动递增数字的最简单方法

来自分类Dev

从自动增量数据库字段返回1

来自分类Dev

从自动增量数据库字段返回1

来自分类Dev

在Java中创建简单解析的最简单方法

来自分类Dev

从Azure下载Cosmos数据库的简单方法

来自分类Dev

Laravel更新或使用自动增量数据库创建

来自分类Dev

在数据库简单方法中删除时修复身份

来自分类Dev

Firebird / IBPP:如何检索由数据库自动增量生成的ID?

来自分类Dev

将两个postgres数据库合并为一个的最简单方法?

来自分类Dev

在多个iOS和Android设备之间保持数据库同步的最简单方法是什么?

来自分类Dev

在Android Studio中创建形状的最简单方法

来自分类Dev

如何减少SQL数据库中的自动增量数?

来自分类Dev

Firebase 数据库中字段的深度增量

来自分类Dev

从文件中的行返回数据的最简单方法

来自分类Dev

在QTcpSocket中连续发送XML数据的最简单方法

Related 相关文章

  1. 1

    在数据库中增加字段的最简单方法?

  2. 2

    使用无脂肪框架从数据库检索单个字段的最简单方法?

  3. 3

    CakePHP 3-从数据库检索单个字段的最简单方法

  4. 4

    复制/复制RethinkDB数据库的最简单方法?

  5. 5

    使用VB.NET检查MSSQL中是否存在数据库的最简单方法是什么?

  6. 6

    SQLAlchemy,Python,用数据填充数据库的最简单方法

  7. 7

    使用Laravel将数据插入数据库的最简单方法?

  8. 8

    在旧版SQL Server数据库中加密密码字段的简单方法

  9. 9

    将多个数据库查询导入Excel的最简单方法是什么?

  10. 10

    PyQt:为现有数据库制作CRUD UI的最简单方法是?

  11. 11

    在postgres数据库中保存文件树的最简单方法是什么?

  12. 12

    在同一SQL实例上复制大型数据库的最简单方法

  13. 13

    将MS SQL SERVER数据库导出到MySql数据库的最简单方法

  14. 14

    最简单的用ForeignKeys清空数据库而不删除/创建数据库的方法

  15. 15

    在 mysql 中创建全局自动递增数字的最简单方法

  16. 16

    从自动增量数据库字段返回1

  17. 17

    从自动增量数据库字段返回1

  18. 18

    在Java中创建简单解析的最简单方法

  19. 19

    从Azure下载Cosmos数据库的简单方法

  20. 20

    Laravel更新或使用自动增量数据库创建

  21. 21

    在数据库简单方法中删除时修复身份

  22. 22

    Firebird / IBPP:如何检索由数据库自动增量生成的ID?

  23. 23

    将两个postgres数据库合并为一个的最简单方法?

  24. 24

    在多个iOS和Android设备之间保持数据库同步的最简单方法是什么?

  25. 25

    在Android Studio中创建形状的最简单方法

  26. 26

    如何减少SQL数据库中的自动增量数?

  27. 27

    Firebase 数据库中字段的深度增量

  28. 28

    从文件中的行返回数据的最简单方法

  29. 29

    在QTcpSocket中连续发送XML数据的最简单方法

热门标签

归档