AUTO-INCREMENT

Auto-Increment,自动插入的意思。

和DAX函数中的GENERATESERIES函数有点类似,二者都是设定一个初始值,自动的生成一组数值。区别在于,在PowerBI中,GENERATESERIES函数通常是用来生成参数使用。

而在数据仓库中,我们都知道数据需要唯一主键,且根据主键的特性不可复用、不提供给用户,因此我们每张表中对应的数据都需要每次在数据更新的时候自动生成唯一主键,Auto-Increment特别适用这个场景。

基础语法

CREATE TABLE 表
(
列名称 数据类型 PRIMARY KEY IDENTITY,
列名称 数据类型 限定条件,
......
)

注意事项

若要规定某列的起始值和增值,请把IDENTITY 改为 IDENTITY(起始值,增值)。

使用实例

在白茶本机的数据库中存在名为“CaseDatabase”的数据库。

例子1:

创建名为“test”的表,并添加Auto-Increment。

create table test
(
thekey int primary key identity,
thename varchar(255) not null,
thevalue varchar(255)
)

结果如下:

我们根据上面生成的表,来进行数据插入。

代码如下:

insert into test(thename) VALUES ('baicha')

结果如下:

我们来查看一下数据结果:

可以看到,我们并没有对“thekey”这一列进行数据插入,但是已经有一个数字1存在了。

例子2:

创建名为“testten”的表,并添加Auto-Increment,设定初始值为100,增值为3。

create table testten
(
thekey int primary key identity(100,3),
thename varchar(255) not null,
thevalue varchar(255)
)

结果如下:

对testten表进行数据插入,我们来看一下。

insert into testten(thename,thevalue) values('白茶' , '1200');
insert into testten(thename,thevalue) values('绿茶' , '1311');
insert into testten(thename) values('黑茶');

结果如下:

我们来查看一下数据结果:

结果符合我们的预期结果,thekey自动生成了主键,且按照增值3进行插入。

这里是白茶,一个PowerBI的初学者。