注册
初识达梦(八):自增属性
专栏/技术分享/ 文章详情 /

初识达梦(八):自增属性

刘刘 2025/12/05 12 0 0
摘要

自增属性,我所了解的数据库中都有。使用自增属性,尤其是做为主键来讲,避免手动管理主键的复杂性,支持高效的数据插入和排序操作(因为自增属性本身就是有序的)。
达梦数据库中自增属性的实现,可以通过以下几种方式来实现:

  1. IDENTITY 自增列
create table test_auto(id bigint IDENTITY(1,1),name char(10)); insert into test_auto(name) values('abc'); commit; select * from test_auto; //可以看到id是自增输入的一 行号 ID NAME ---------- -------------------- ---------- 1 1 abc 已用时间: 2.488(毫秒). 执行号:5107. SQL> select IDENT_SEED('TEST_AUTO'); //起始值 行号 IDENT_SEED('TEST_AUTO') ---------- ----------------------- 1 1 已用时间: 1.698(毫秒). 执行号:5108. SQL> select IDENT_INCR('TEST_AUTO'); //步长 行号 IDENT_INCR('TEST_AUTO') ---------- ----------------------- 1 1 已用时间: 1.103(毫秒). 执行号:5109. SQL> select IDENT_CURRENT('TEST_AUTO'); //当前值,下一个值+1 行号 IDENT_CURRENT('TEST_AUTO') ---------- -------------------------- 1 1 已用时间: 1.341(毫秒). 执行号:5110.
  1. AUTO_INCREMENT 自增列
SQL> create table t_auto(id int AUTO_INCREMENT primary key ,name char(10)); 操作已执行 已用时间: 7.758(毫秒). 执行号:5116. SQL> insert into t_auto(name) values('abc'); 影响行数 1 已用时间: 0.981(毫秒). 执行号:5117. SQL> commit; 操作已执行 已用时间: 1.382(毫秒). 执行号:5118. SQL> select * from t_auto; 行号 ID NAME ---------- ----------- ---------- 1 1 abc 已用时间: 1.598(毫秒). 执行号:5119. SQL> 和AUTO_INCREMENT自增列有关的参数:AUTO_INCREMENT_OFFSET、AUTO_INCREMENT_INCREMENT、NO_AUTO_VALUE_ON_ZERO。 如何查看它的下一个值呢?

再留一个小小的问题:

如果自增想使用序列值可以么? 大家感兴趣的话,可以试试。。

以上内容为个人对达梦学习的初步认知,受限于视角与经验,不足之处恳请指正。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服