当前位置:首页 » 编程语言 » sql自增id
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql自增id

发布时间: 2022-02-04 20:29:58

A. 数据库如何设置主键(ID)自动增长啊(sql语句)

在创建表的时候可以设置,方法如下,用一下sql语句。
createtabletableName(
idintidentity(1,1)primarykey,
datavarchar(50))

解释:其中identity(1,1)代表自增,第一个1代表从1开始计数,第二个1代表每次增长1。

(1)sql自增id扩展阅读:

SQL全名是结构化查询语言[1](Structured Query Language),是用于数据库中的标准数据查询语言,IBM公司最早使用在其开发的数据库系统中。1986年10月,美国国家标准学会(ANSI) 对 SQL 进行规范后,以此作为关系式数据库管理系统的标准语言 (ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对 SQL 规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。

参考资料:

网络-SQL语言

B. sql自增id怎么写 并且设置成为主键

主键字段 int identity(11,1) primary key

这样就可以了。

主键只能有1个,可以是一个字段,也可以是多个字段组合的。

C. sql server中如何实现自增字段

1、主键自增,以及建表的语句如下:

CREATE TABLEIF NOT EXISTS `t_email_notice` (

`id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,`send_time` INT (16) NOT NULL DEFAULT '0',PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

其中 `id` INT (11) UNSIGNED NOT NULL AUTO_INCREMENT,这句话表示设置id字段字增,类型为int

2、varchar类型的主键,不会自增。但是你可以通过创建触发器的形式,来实现自增。代码如下:

CREATE TRIGGER `T` BEFORE INSERT ON `user`FOR EACH ROW begin

set new.id=concat('SH',lpad(((SELECT substring(id,3,4) from user where id=(select id from user order by id desc limit 1))+1),4,0));

end;

这段语句的意思是,当user表中新插入一条一条语句,会触发‘触发器T’将以’SH‘开头的id字段自增+1。

(3)sql自增id扩展阅读

sql语句建表规则如下:

create table ‘表名’ (‘字段1’ type1 [not null] [primary key] identity(起始值,递增量),‘字段2’type2 [not null], ...)--primary key为主键 identity表示递增数量。

D. sql server怎么获取自增的id值

SELECT SCOPE_IDENTITY() --返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值。
SELECT @@IDENTITY --返回插入到当前会话中任何作用域内的最后一个 IDENTITY 列值
SELECT IDENT_CURRENT('TbName')--不受作用域和会话的限制,而受限于指定的表。

E. 如何得到SqlServer的自增ID

SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY

IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。

IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。

SCOPE_IDENTITY 和 @@IDENTITY
返回在当前会话中的任何表内所生成的最后一个标识值。

但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY
不受限于特定的作用域。

例如,有两个表 T1 和 T2,并且在 T1 上定义了 INSERT 触发器。

当将某行插入 T1 时,触发器激发,并在 T2 中插入一行。

该方案演示了两个作用域:在 T1 上的插入,以及在 T2 通过触发器的插入。

假设 T1 和 T2 都有标识列,@@IDENTITY 和 SCOPE_IDENTITY 将在 T1 上的
INSERT 语句结束后返回不同的值。

@@IDENTITY 将返回在当前会话中的任何作用域内插入的最后一个标识列的值。

这是在 T2 中插入的值。

SCOPE_IDENTITY() 将返回在 T1 中插入的 IDENTITY 值。

这是在同一个作用域内发生的最后的插入。

如果在任何 INSERT 语句作用于作用域中的标识列之前调用 SCOPE_IDENTITY()
函数,则该函数将返回 Null。

如果语句和事务失败,它们会更改表的当前标识,从而使标识列中的值出现不连贯现象。

即使未提交试图向表中插入值的事务,也永远无法回滚标识值。

例如,如果因 IGNORE_DUP_KEY 冲突而导致 INSERT
语句失败,表的当前标识值仍然会增加。

F. sql 设置主键 自动增长

Alter table tabname add primary key(col) 设置主键
SELECT * FROM sys.columns WHERE object_id=OBJECT_ID('表名') AND is_identity=1自增列应该是这样

G. sql server建表时怎么设置ID字段自增

sql server建表时设置ID字段自增的方法有两种:

1 、在SQL Server Management Studio中实现SQL Server自增字段

打开SQL Server Management Studio,打开数据库之后,在选中的表上点“修改”,在选中需要设置为自增的字段,在右下方的表设计器里选择“标识规范”,选“是”,就设定即可。

2、使用SQL语句在程序或者查询分析器里面实现SQL Server自增字段

sql server 设置自增字段identity属性 (以新建数据表tablename中的id字段为例)

createtabletablename

(

idintidentity(1,1) //identity表示自增列的意思,而int identity(1,1)表示从1开始递增,每次自增1。

)

这样设置之后,tablename数据表中的id字段就是自增列。

如果想实现带前缀或者后缀的自动增加字段,不能用varchar,还是使用上面的方法创建字段,但是在读取的时候用增加前后缀的形式来显示想要的效果,例如如果希望得出结果是a001可以这么做select 'a'+convert(varchar(20),id) from tablename,这里的tablename是刚才建立的具体的表明。

H. id自增 sql语句怎么写

mysql的
create table t_user(
id int primary key auto_increment
)

oracle的
CREATE SEQUENCE user_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;

一旦定义了user_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回 sequence的当前值
NEXTVAL=增加sequence的值,然后返回 sequence 值

INSERT INTO t_user VALUES
(user_sequence.nextval);

I. SQL Server中怎样设置id号自动增长

createtable表名--第一种用sql建表identity(1,1)为每次递增1位primarykey为主键
(
idintidentity(1,1)primarykey
)

--第二种用设计器来操作
--鼠标对准你需要操作的表名右击=>设计=>
选中你需要操作的列名然后在下方有一个列属性=>选择标识规范=>
将标识增量此选项选为(是)下面有一个标识种子默认为1(每次递增1,可修改)

J. sql 字符串型ID 如何自增

数据库中的ID自增只能用int。
如果你想用字符串并自增,得自己在程序中插入数据的时候进行控制。