Navicat 设置主键自增 自动增长 Navicat中怎么设置主键自增长

Navicat 设置主键自增 自动增长 Navicat中怎么设置主键自增长,第1张

id int identity(1,1) 是 SQL Server 的 自动递增列的写法。

对于SQLite

主键数据类型为 int 类型。

插入的时候,不传入数据, 就是默认为自动递增处理。

last_insert_rowid() 函数用于获取最新生成的 ID

sqlite>CREATE TABLE test_create_tab2 (

...> id integer,

...> val VARCHAR(10),

...> PRIMARY KEY (id)

...>)

sqlite> INSERT INTO test_create_tab2(val) VALUES ('NO id')

sqlite>select last_insert_rowid()

last_insert_rowid()

1

sqlite>INSERT INTO test_create_tab2(val) VALUES ('NO id 2')

sqlite>select last_insert_rowid()

last_insert_rowid()

2

sqlite>select * from test_create_tab2

id|val

1|NO id

2|NO id 2

sqlite>INSERT INTO test_create_tab2(id, val) VALUES (100, 'id is 100')

sqlite>INSERT INTO test_create_tab2(val) VALUES ('NO id again')

sqlite>select * from test_create_tab2

id|val

1|NO id

2|NO id 2

100|id is 100

101|NO id again

注意:

对于无主键的表

SQLite 中还有一个 伪列 rowid, 可以作为自动递增的查询处理。

sqlite>CREATE TABLE test_create_tab3 (

...> id integer,

...> val VARCHAR(10)

...>)

sqlite>

sqlite>INSERT INTO test_create_tab3(id, val) VALUES (1, 'Test1')

sqlite>INSERT INTO test_create_tab3(id, val) VALUES (2, 'Test2')

sqlite>INSERT INTO test_create_tab3(id, val) VALUES (100, 'Test100')

sqlite>INSERT INTO test_create_tab3(id, val) VALUES (101, 'Test101')

sqlite>select rowid, id, val from test_create_tab3

rowid|id|val

1|1|Test1

2|2|Test2

3|100|Test100

4|101|Test101

以sqlserver为例,可用如下语句设置:

create table test

(id int identity(1,1),primary key(id),

name varchar(10))

其中identity(1, 1)为设置主键自增的部分,前边一个1表示从1开始计数,后边一个1表示每次增加的数量。primary key(id)代表id列为主键。

连续执行如下语句:

insert into test(name) values ('a')

insert into test(name) values ('b')

insert into test(name) values ('b')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11317782.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存